certflow.controllers.model_param_mapping_controller module¶
型号参数对照表控制器
桥接型号→压力对照表管理界面(View)与型号参数服务(Service):读操作直接委托
ModelParamMappingService;写操作在此统一提交事务,失败时回滚并向上抛出。模型类
经服务层间接引用,控制器不直接依赖 certflow.models.*。
- 架构层次:View (ModelParamMappingManagerView) → Controller
(ModelParamMappingController) → Service (ModelParamMappingService) → Model (ModelParamMapping)
- class certflow.controllers.model_param_mapping_controller.ModelParamMappingController(db_session=None, db_manager=None, use_shared=True)[源代码]¶
-
型号参数对照表控制器 — 管理界面的业务调度层
- 参数:
use_shared (bool)
- get_by_id(mapping_id)[源代码]¶
按主键获取记录
- 参数:
mapping_id (int) -- 记录主键
- 返回:
匹配的记录;不存在时返回 None
- 返回类型:
ModelParamMapping | None
- get_by_model(product_model)[源代码]¶
按产品型号查询对照记录(阶段 C:收口 print_view 的裸 session.query)
视图层不再直接剥出 Controller 的 session 自己写 ORM 查询,统一经此方法。
- 参数:
product_model (str) -- 产品型号字符串
- 返回:
匹配的记录;不存在时返回 None
- 返回类型:
ModelParamMapping | None
- upsert_for_learnback(product_model, updates, strategy='conservative', overwrite_manual=False)[源代码]¶
打印成功后学回型号字典(保守合并语义,见 docs/PRINT_BLUEPRINT.md §2.4)。
不存在 → 新建 source='auto-learned',应用全部非空 updates。
已存在且 source=='manual' 且 overwrite_manual=False → 整条不动(人工权威)。
- 已存在且非 manual → 按策略合并:
conservative / field_level:仅补缺(DB 为空、表单非空才写;已非空保持)。 last_write_wins:所有非空表单字段覆盖 DB。
无论新建/补缺,usage_count++。