feat: 同步本地未提交的前后端更新(plan/quality/material/inspection/production 等模块)
This commit is contained in:
@@ -1,30 +1,48 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
from app.models.plan import PlanStatus
|
||||
|
||||
|
||||
class PlanCreate(BaseModel):
|
||||
plan_no: str
|
||||
plan_date: datetime
|
||||
shift: Optional[str] = None
|
||||
plan_quantity: int = 0
|
||||
plan_weight: float = 0
|
||||
cold_coil_no: Optional[str] = None
|
||||
hot_coil_no: Optional[str] = None
|
||||
steel_grade: Optional[str] = None
|
||||
spec_range: Optional[str] = None
|
||||
priority: int = 5
|
||||
incoming_thickness: Optional[float] = None
|
||||
product_thickness: Optional[float] = None
|
||||
deviation_upper: Optional[float] = None
|
||||
deviation_lower: Optional[float] = None
|
||||
incoming_width: Optional[float] = None
|
||||
product_width: Optional[float] = None
|
||||
packaging_req: Optional[str] = None
|
||||
trim_req: Optional[str] = None
|
||||
rolling_mode: Optional[str] = None
|
||||
coil_diameter: Optional[float] = None
|
||||
split_count: Optional[int] = 1
|
||||
next_process: Optional[str] = None
|
||||
status: Optional[str] = "ready"
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class PlanUpdate(BaseModel):
|
||||
plan_date: Optional[datetime] = None
|
||||
shift: Optional[str] = None
|
||||
plan_quantity: Optional[int] = None
|
||||
plan_weight: Optional[float] = None
|
||||
actual_quantity: Optional[int] = None
|
||||
actual_weight: Optional[float] = None
|
||||
status: Optional[PlanStatus] = None
|
||||
priority: Optional[int] = None
|
||||
cold_coil_no: Optional[str] = None
|
||||
hot_coil_no: Optional[str] = None
|
||||
steel_grade: Optional[str] = None
|
||||
incoming_thickness: Optional[float] = None
|
||||
product_thickness: Optional[float] = None
|
||||
deviation_upper: Optional[float] = None
|
||||
deviation_lower: Optional[float] = None
|
||||
incoming_width: Optional[float] = None
|
||||
product_width: Optional[float] = None
|
||||
packaging_req: Optional[str] = None
|
||||
trim_req: Optional[str] = None
|
||||
rolling_mode: Optional[str] = None
|
||||
coil_diameter: Optional[float] = None
|
||||
split_count: Optional[int] = None
|
||||
next_process: Optional[str] = None
|
||||
status: Optional[str] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
@@ -32,16 +50,24 @@ class PlanOut(BaseModel):
|
||||
id: int
|
||||
plan_no: str
|
||||
plan_date: datetime
|
||||
shift: Optional[str]
|
||||
plan_quantity: int
|
||||
plan_weight: float
|
||||
actual_quantity: int
|
||||
actual_weight: float
|
||||
status: PlanStatus
|
||||
steel_grade: Optional[str]
|
||||
spec_range: Optional[str]
|
||||
priority: int
|
||||
created_by: Optional[str]
|
||||
status: Optional[str] = None
|
||||
cold_coil_no: Optional[str] = None
|
||||
hot_coil_no: Optional[str] = None
|
||||
steel_grade: Optional[str] = None
|
||||
incoming_thickness: Optional[float] = None
|
||||
product_thickness: Optional[float] = None
|
||||
deviation_upper: Optional[float] = None
|
||||
deviation_lower: Optional[float] = None
|
||||
incoming_width: Optional[float] = None
|
||||
product_width: Optional[float] = None
|
||||
packaging_req: Optional[str] = None
|
||||
trim_req: Optional[str] = None
|
||||
rolling_mode: Optional[str] = None
|
||||
coil_diameter: Optional[float] = None
|
||||
split_count: Optional[int] = 1
|
||||
next_process: Optional[str] = None
|
||||
remark: Optional[str] = None
|
||||
created_by: Optional[str] = None
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
|
||||
@@ -5,52 +5,82 @@ from datetime import datetime
|
||||
|
||||
class ProductionRecordCreate(BaseModel):
|
||||
coil_no: str
|
||||
sub_coil_no: Optional[str] = None
|
||||
hot_coil_no: Optional[str] = None
|
||||
plan_id: Optional[int] = None
|
||||
shift: Optional[str] = None
|
||||
shift_date: Optional[datetime] = None
|
||||
start_time: Optional[datetime] = None
|
||||
end_time: Optional[datetime] = None
|
||||
process_length: Optional[float] = None
|
||||
process_weight: Optional[float] = None
|
||||
avg_speed: Optional[float] = None
|
||||
max_speed: Optional[float] = None
|
||||
acid_consumption: Optional[float] = None
|
||||
inlet_thickness: Optional[float] = None
|
||||
team: Optional[str] = None
|
||||
steel_grade: Optional[str] = None
|
||||
incoming_thickness: Optional[float] = None
|
||||
outlet_thickness: Optional[float] = None
|
||||
inlet_width: Optional[float] = None
|
||||
quality_grade: Optional[str] = None
|
||||
operator: Optional[str] = None
|
||||
deviation_upper: Optional[float] = None
|
||||
deviation_lower: Optional[float] = None
|
||||
incoming_width: Optional[float] = None
|
||||
outlet_width: Optional[float] = None
|
||||
incoming_weight: Optional[float] = None
|
||||
weighed_weight: Optional[float] = None
|
||||
packaging_req: Optional[str] = None
|
||||
trim_req: Optional[str] = None
|
||||
surface_quality: Optional[str] = None
|
||||
product_quality: Optional[float] = None
|
||||
product_length: Optional[float] = None
|
||||
length_per_ton: Optional[float] = None
|
||||
offline_time: Optional[datetime] = None
|
||||
status: Optional[str] = "UNWEIGH"
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class ProductionRecordUpdate(BaseModel):
|
||||
sub_coil_no: Optional[str] = None
|
||||
hot_coil_no: Optional[str] = None
|
||||
shift: Optional[str] = None
|
||||
end_time: Optional[datetime] = None
|
||||
process_length: Optional[float] = None
|
||||
process_weight: Optional[float] = None
|
||||
avg_speed: Optional[float] = None
|
||||
acid_consumption: Optional[float] = None
|
||||
quality_grade: Optional[str] = None
|
||||
team: Optional[str] = None
|
||||
steel_grade: Optional[str] = None
|
||||
incoming_thickness: Optional[float] = None
|
||||
outlet_thickness: Optional[float] = None
|
||||
deviation_upper: Optional[float] = None
|
||||
deviation_lower: Optional[float] = None
|
||||
incoming_width: Optional[float] = None
|
||||
outlet_width: Optional[float] = None
|
||||
incoming_weight: Optional[float] = None
|
||||
weighed_weight: Optional[float] = None
|
||||
packaging_req: Optional[str] = None
|
||||
trim_req: Optional[str] = None
|
||||
surface_quality: Optional[str] = None
|
||||
product_quality: Optional[float] = None
|
||||
product_length: Optional[float] = None
|
||||
length_per_ton: Optional[float] = None
|
||||
offline_time: Optional[datetime] = None
|
||||
status: Optional[str] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class ProductionRecordOut(BaseModel):
|
||||
id: int
|
||||
coil_no: str
|
||||
plan_id: Optional[int]
|
||||
shift: Optional[str]
|
||||
shift_date: Optional[datetime]
|
||||
start_time: Optional[datetime]
|
||||
end_time: Optional[datetime]
|
||||
process_length: Optional[float]
|
||||
process_weight: Optional[float]
|
||||
avg_speed: Optional[float]
|
||||
max_speed: Optional[float]
|
||||
acid_consumption: Optional[float]
|
||||
inlet_thickness: Optional[float]
|
||||
outlet_thickness: Optional[float]
|
||||
quality_grade: Optional[str]
|
||||
operator: Optional[str]
|
||||
sub_coil_no: Optional[str] = None
|
||||
hot_coil_no: Optional[str] = None
|
||||
plan_id: Optional[int] = None
|
||||
shift: Optional[str] = None
|
||||
team: Optional[str] = None
|
||||
steel_grade: Optional[str] = None
|
||||
incoming_thickness: Optional[float] = None
|
||||
outlet_thickness: Optional[float] = None
|
||||
deviation_upper: Optional[float] = None
|
||||
deviation_lower: Optional[float] = None
|
||||
incoming_width: Optional[float] = None
|
||||
outlet_width: Optional[float] = None
|
||||
incoming_weight: Optional[float] = None
|
||||
weighed_weight: Optional[float] = None
|
||||
packaging_req: Optional[str] = None
|
||||
trim_req: Optional[str] = None
|
||||
surface_quality: Optional[str] = None
|
||||
product_quality: Optional[float] = None
|
||||
product_length: Optional[float] = None
|
||||
length_per_ton: Optional[float] = None
|
||||
offline_time: Optional[datetime] = None
|
||||
status: Optional[str] = None
|
||||
remark: Optional[str] = None
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
|
||||
@@ -85,8 +85,78 @@ class QcTaskOut(BaseModel):
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class QcDefectCreate(BaseModel):
|
||||
class QcDefectBase(BaseModel):
|
||||
coil_no: Optional[str] = None
|
||||
seq_no: Optional[int] = None
|
||||
defect_desc: Optional[str] = None
|
||||
start_position: Optional[float] = None
|
||||
end_position: Optional[float] = None
|
||||
length_val: Optional[float] = None
|
||||
upper_surface: Optional[bool] = False
|
||||
lower_surface: Optional[bool] = False
|
||||
side_op: Optional[bool] = False
|
||||
side_middle: Optional[bool] = False
|
||||
side_drive: Optional[bool] = False
|
||||
is_main: Optional[bool] = False
|
||||
image_url: Optional[str] = None
|
||||
defect_code: Optional[str] = None
|
||||
defect_type: Optional[str] = None
|
||||
degree: Optional[str] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class QcDefectCreate(QcDefectBase):
|
||||
production_line: Optional[str] = None
|
||||
position: Optional[str] = None
|
||||
plate_surface: Optional[str] = None
|
||||
defect_rate: Optional[float] = None
|
||||
defect_weight: Optional[float] = None
|
||||
judge_level: Optional[str] = None
|
||||
judge_by: Optional[str] = None
|
||||
judge_time: Optional[datetime] = None
|
||||
main_mark: Optional[int] = None
|
||||
whole_coil_mark: Optional[int] = None
|
||||
|
||||
|
||||
class QcDefectUpdate(BaseModel):
|
||||
seq_no: Optional[int] = None
|
||||
defect_desc: Optional[str] = None
|
||||
start_position: Optional[float] = None
|
||||
end_position: Optional[float] = None
|
||||
length_val: Optional[float] = None
|
||||
upper_surface: Optional[bool] = None
|
||||
lower_surface: Optional[bool] = None
|
||||
side_op: Optional[bool] = None
|
||||
side_middle: Optional[bool] = None
|
||||
side_drive: Optional[bool] = None
|
||||
is_main: Optional[bool] = None
|
||||
image_url: Optional[str] = None
|
||||
defect_code: Optional[str] = None
|
||||
defect_type: Optional[str] = None
|
||||
degree: Optional[str] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class QcDefectBulkSave(BaseModel):
|
||||
coil_no: str
|
||||
defects: List[QcDefectCreate]
|
||||
|
||||
|
||||
class QcDefectOut(BaseModel):
|
||||
id: int
|
||||
coil_no: Optional[str]
|
||||
seq_no: Optional[int] = None
|
||||
defect_desc: Optional[str] = None
|
||||
start_position: Optional[float] = None
|
||||
end_position: Optional[float] = None
|
||||
length_val: Optional[float] = None
|
||||
upper_surface: Optional[bool] = None
|
||||
lower_surface: Optional[bool] = None
|
||||
side_op: Optional[bool] = None
|
||||
side_middle: Optional[bool] = None
|
||||
side_drive: Optional[bool] = None
|
||||
is_main: Optional[bool] = None
|
||||
image_url: Optional[str] = None
|
||||
production_line: Optional[str] = None
|
||||
position: Optional[str] = None
|
||||
plate_surface: Optional[str] = None
|
||||
@@ -101,36 +171,6 @@ class QcDefectCreate(BaseModel):
|
||||
main_mark: Optional[int] = None
|
||||
whole_coil_mark: Optional[int] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class QcDefectUpdate(BaseModel):
|
||||
defect_type: Optional[str] = None
|
||||
defect_rate: Optional[float] = None
|
||||
defect_weight: Optional[float] = None
|
||||
degree: Optional[str] = None
|
||||
judge_level: Optional[str] = None
|
||||
judge_by: Optional[str] = None
|
||||
judge_time: Optional[datetime] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class QcDefectOut(BaseModel):
|
||||
id: int
|
||||
coil_no: Optional[str]
|
||||
production_line: Optional[str]
|
||||
position: Optional[str]
|
||||
plate_surface: Optional[str]
|
||||
defect_code: Optional[str]
|
||||
defect_type: Optional[str]
|
||||
defect_rate: Optional[float]
|
||||
defect_weight: Optional[float]
|
||||
degree: Optional[str]
|
||||
judge_level: Optional[str]
|
||||
judge_by: Optional[str]
|
||||
judge_time: Optional[datetime]
|
||||
main_mark: Optional[int]
|
||||
whole_coil_mark: Optional[int]
|
||||
remark: Optional[str]
|
||||
created_at: datetime
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user