certflow.services.model_spec_parser module¶
型号→口径/压力 解析器(消减导入黄标,TAPD #1000192 / BLUEPRINT §8.2 第③处缺口)
VBA 时代空白口径靠人工 inputbox 补录(对标 function.vb),PySide6 版当前
normalize_spec 仅解析 product_spec 字符串、normalize_pn 仅从型号后缀/字典
取压力,导致「合同口径空白」「型号内嵌 DN/PN 未被提取」两类行直接黄标。
本解析器从**产品型号**内嵌的显式标识反推口径/压力,作为
DNService.resolve_caliber / PNService.resolve_pn 的**兜底**:
口径:型号内嵌
DN150/DN100*80→ 口径值(150/100*80);压力:显式
PN16``(PN 为 bar,MPa=PN/10)、英制 ``CLASS1500/CL1500(磅级→Lb)、以及型号后缀嵌入的**标准公称压力代号**(如J61Y-160的160→ 16MPa、EF/PZ-320P的320→ 32MPa、BEDDZY-250的250→ 25MPa)。仅白名单内标准 代号采信,杜绝流水号误判(如...-13不再误作 1.3MPa)。
设计约束(对齐验收标准):
- 不改写 ``product_spec``(合同口径),只供 product_spec_norm / pressure_value;
- 无型号源 / 未命中显式标识时**返回空、不伪造**,仍走黄标 + 校正队列;
- 纯正则解析、无副作用,便于单测锁定。