fix(B4): 波动测试记录写入 sub_type/str_type,从工装配置 DevType 获取

- 新增 get_fixture_dev_type() 查询工装配的 DevType
- insert_wave_data 自动补充 sub_type(型号编码) 和 str_type(PD132/DLD110)
This commit is contained in:
wangfq
2026-06-08 11:31:42 +08:00
parent 68c6d0bcfe
commit 3a74759066

View File

@@ -452,6 +452,19 @@ async def get_fixture_coil_car_ids(dnt_id: int) -> tuple[int | None, int | None]
return None, None
async def get_fixture_dev_type(dnt_id: int) -> int:
"""从 tb_fixture_param 获取被检设备型号类型编码 (DevType)"""
pool = await get_pool()
async with pool.acquire() as conn:
async with conn.cursor() as cur:
await cur.execute(
"SELECT DevType FROM tb_fixture_param WHERE dnt_id=%s",
(dnt_id,),
)
row = await cur.fetchone()
return row[0] if row else 0
async def insert_test_result(dnt_id: int, dpg430_addr: int, pcnum: str,
serialnum: int, sub_type: int, str_type: str,
iffinish: str, fault_info: str, relay_out: str,
@@ -488,18 +501,23 @@ async def insert_wave_data(dnt_id: int, dpg430_addr: int,
enter_dist: int, leave_dist: int):
"""插入 0xB4 波动测试上报数据到 tb_state_tst"""
coil_id, simulate_car_id = await get_fixture_coil_car_ids(dnt_id)
dev_type = await get_fixture_dev_type(dnt_id)
dev_model_map = {1: "PD132", 2: "DLD110"}
str_type = dev_model_map.get(dev_type, f"Unknown({dev_type})") if dev_type else ""
pool = await get_pool()
async with pool.acquire() as conn:
async with conn.cursor() as cur:
await cur.execute(
"""INSERT INTO tb_state_tst
(dnt_id, dpg430_addr, test_mode, data_source,
(dnt_id, dpg430_addr, sub_type, str_type,
test_mode, data_source,
relay_out, relay_code,
remain_count, work_freq, curr_dist, speed,
near_dist, far_dist, b4_enter_dist, b4_leave_dist,
coil_id, simulate_car_id)
VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)""",
(dnt_id, dpg430_addr, 1, "B4",
VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)""",
(dnt_id, dpg430_addr, dev_type, str_type,
1, "B4",
"", relay_code,
remain_count, work_freq, curr_dist, speed,
near_dist, far_dist, enter_dist, leave_dist,