添加前端Vue2项目结构,包括ElementUI集成、路由配置和API模块 实现后端FastAPI服务,包含Oracle数据库连接和PDI CRUD接口 添加OPC-UA轮询服务,支持跟踪图数据同步到Oracle 提供SQLite镜像数据库用于本地开发和快速查询 包含完整的部署脚本和文档说明
185 lines
7.1 KiB
Python
185 lines
7.1 KiB
Python
from typing import Optional, List, Dict
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class PDIPLTMCreate(BaseModel):
|
|
coilid: str
|
|
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] = {}
|