Files
tiandihe/backend/models.py

187 lines
7.3 KiB
Python
Raw Normal View History

from typing import Optional, List, Dict
from pydantic import BaseModel, Field
class PDIPLTMCreate(BaseModel):
coilid: str = Field(..., min_length=12, max_length=12, description="钢卷号必须为12位")
rollprogramnb: Optional[int] = None
sequencenb: Optional[int] = None
schedule_code: Optional[str] = None
entry_coil_thickness: Optional[float] = None
entry_coil_thickness_max: Optional[float] = None
entry_coil_thickness_min: Optional[float] = None
entry_coil_width: Optional[float] = None
entry_coil_width_max: Optional[float] = None
entry_coil_width_min: Optional[float] = None
entry_coil_weight: Optional[float] = None
entry_of_coil_length: Optional[float] = None
entry_of_coil_inner_diameter: Optional[float] = None
entry_of_coil_outer_diameter: Optional[float] = None
trimming: Optional[int] = None
trimming_width: Optional[float] = None
smp_length: Optional[float] = None
smp_num: Optional[float] = None
smp_frq: Optional[str] = None
preceding_process_code: Optional[str] = None
next_process_code: Optional[str] = None
hot_mill_delivery_temp: Optional[float] = None
finished_coil_temp: Optional[float] = None
crown_average: Optional[float] = None
coil_flatness_average: Optional[float] = None
coil_flatness_max_value: Optional[float] = None
coil_flatness_min_value: Optional[float] = None
material_yield_point: Optional[float] = None
material_tensile: Optional[float] = None
hotactfmwedgeavg: Optional[float] = None
weight_mode: Optional[str] = None
dummy_coil_mrk: Optional[str] = None
cut_mode: Optional[str] = None
off_gauge_head_length: Optional[float] = None
off_gauge_tail_length: Optional[float] = None
exit_coil_no: Optional[str] = None
exit_coil_weight: Optional[float] = None
exit_coil_weight_max: Optional[float] = None
exit_coil_weight_min: Optional[float] = None
exit_coil_thickness: Optional[float] = None
exit_coil_thickness_max: Optional[float] = None
exit_coil_thickness_min: Optional[float] = None
exit_coil_width: Optional[float] = None
exit_coil_width_max: Optional[float] = None
exit_coil_width_min: Optional[float] = None
work_order_no: Optional[str] = None
order_quality: Optional[str] = None
steel_grade: Optional[str] = None
sg_sign: Optional[str] = None
order_thickness: Optional[float] = None
order_thickness_max: Optional[float] = None
order_thickness_min: Optional[float] = None
order_width: Optional[float] = None
order_width_max: Optional[float] = None
order_width_min: Optional[float] = None
sleeve_code_of_cold_coil: Optional[str] = None
packing_type_code: Optional[str] = None
thk_ds: Optional[str] = None
ext_num_01: Optional[str] = None
# chemical elements
c: Optional[float] = None
si: Optional[float] = None
mn: Optional[float] = None
p: Optional[float] = None
s: Optional[float] = None
cu: Optional[float] = None
ni: Optional[float] = None
cr: Optional[float] = None
mo: Optional[float] = None
v: Optional[float] = None
ti: Optional[float] = None
sol_al: Optional[float] = None
fe: Optional[float] = None
nb: Optional[float] = None
n: Optional[float] = None
b: Optional[float] = None
send_flag: Optional[str] = None
work_order_no: Optional[str] = None
coiler_diameter: Optional[int] = None
l2_grade: Optional[str] = None
scrap_cut_head_len: Optional[float] = None
scrap_cut_tail_len: Optional[float] = None
meterweight: Optional[float] = None
meter_d_outside: Optional[float] = None
meter_width: Optional[float] = None
uncoiler_tension: Optional[float] = None
looper_tension_1: Optional[float] = None
pl_tension: Optional[float] = None
looper_tension_2: Optional[float] = None
looper_tension_3: Optional[float] = None
class PDIPLTMUpdate(BaseModel):
rollprogramnb: Optional[int] = None
sequencenb: Optional[int] = None
schedule_code: Optional[str] = None
entry_coil_thickness: Optional[float] = None
entry_coil_thickness_max: Optional[float] = None
entry_coil_thickness_min: Optional[float] = None
entry_coil_width: Optional[float] = None
entry_coil_width_max: Optional[float] = None
entry_coil_width_min: Optional[float] = None
entry_coil_weight: Optional[float] = None
entry_of_coil_length: Optional[float] = None
entry_of_coil_inner_diameter: Optional[float] = None
entry_of_coil_outer_diameter: Optional[float] = None
trimming: Optional[int] = None
trimming_width: Optional[float] = None
smp_length: Optional[float] = None
smp_num: Optional[float] = None
smp_frq: Optional[str] = None
preceding_process_code: Optional[str] = None
next_process_code: Optional[str] = None
hot_mill_delivery_temp: Optional[float] = None
finished_coil_temp: Optional[float] = None
crown_average: Optional[float] = None
coil_flatness_average: Optional[float] = None
material_yield_point: Optional[float] = None
material_tensile: Optional[float] = None
weight_mode: Optional[str] = None
dummy_coil_mrk: Optional[str] = None
cut_mode: Optional[str] = None
off_gauge_head_length: Optional[float] = None
off_gauge_tail_length: Optional[float] = None
exit_coil_no: Optional[str] = None
exit_coil_weight: Optional[float] = None
exit_coil_weight_max: Optional[float] = None
exit_coil_weight_min: Optional[float] = None
exit_coil_thickness: Optional[float] = None
exit_coil_thickness_max: Optional[float] = None
exit_coil_thickness_min: Optional[float] = None
exit_coil_width: Optional[float] = None
exit_coil_width_max: Optional[float] = None
exit_coil_width_min: Optional[float] = None
work_order_no: Optional[str] = None
order_quality: Optional[str] = None
steel_grade: Optional[str] = None
sg_sign: Optional[str] = None
order_thickness: Optional[float] = None
order_thickness_max: Optional[float] = None
order_thickness_min: Optional[float] = None
order_width: Optional[float] = None
order_width_max: Optional[float] = None
order_width_min: Optional[float] = None
packing_type_code: Optional[str] = None
thk_ds: Optional[str] = None
c: Optional[float] = None
si: Optional[float] = None
mn: Optional[float] = None
p: Optional[float] = None
s: Optional[float] = None
cu: Optional[float] = None
ni: Optional[float] = None
cr: Optional[float] = None
mo: Optional[float] = None
v: Optional[float] = None
ti: Optional[float] = None
sol_al: Optional[float] = None
nb: Optional[float] = None
n: Optional[float] = None
b: Optional[float] = None
send_flag: Optional[str] = None
coiler_diameter: Optional[int] = None
l2_grade: Optional[str] = None
uncoiler_tension: Optional[float] = None
looper_tension_1: Optional[float] = None
pl_tension: Optional[float] = None
looper_tension_2: Optional[float] = None
looper_tension_3: Optional[float] = None
scrap_cut_head_len: Optional[float] = None
scrap_cut_tail_len: Optional[float] = None
meterweight: Optional[float] = None
class OpcConfig(BaseModel):
opc_url: str
counter_node: str
poll_interval: int = 2
trackmap_nodes: Dict[str, str] = {}
signal1_node: str = ""
signal2_node: str = ""