certflow.services.model_param_mapping_service module

型号参数对照表服务

收口 ModelParamMapping 的 ORM 类与 CRUD 逻辑,供控制器层(Controller)调用, 消除控制器直接依赖 certflow.models.* 的跨层边。视图(View)只经控制器门面 访问,不直接触碰本服务或模型层。

架构层次:View → Controller (ModelParamMappingController)

→ Service (ModelParamMappingService) → Model (ModelParamMapping)

class certflow.services.model_param_mapping_service.ModelParamMapping(**kwargs)[源代码]

基类:Base

型号参数对照表

id

主键ID

product_model

产品型号(如 Z41H-25C),唯一

pressure_value

公称压力值(如 2.5MPa / 150Lb)

test_standard

试压标准号(如 GB/T 13927-2008)

working_temp

工作温度(如 ≤425℃)

working_medium

适用介质(如水、蒸汽)

source

来源 manual / auto-learned / import

usage_count

使用次数(热门度)

created_at

创建时间

updated_at

更新时间

id
product_model
pressure_value
test_standard
working_temp
working_medium
source
usage_count
created_at
updated_at
class certflow.services.model_param_mapping_service.ModelParamMappingService(session)[源代码]

基类:object

型号参数对照表服务 — 控制器与模型之间的业务调度层。

CRUD 逻辑从原 ModelParamMappingController 下沉至此,控制器仅做事务提交。

参数:

session (Session)

CSV_COLUMNS = ['product_model', 'pressure_value', 'test_standard', 'working_temp', 'working_medium']
CSV_FIELD_TYPES = {'pressure_value': 'text', 'product_model': 'text', 'test_standard': 'text', 'working_medium': 'text', 'working_temp': 'text'}
CSV_UNIQUE_KEYS = ['product_model']
list_all()[源代码]

返回全部型号参数对照记录(按 id 升序)。

返回类型:

list[ModelParamMapping]

get_by_id(mapping_id)[源代码]

按主键获取记录。

参数:

mapping_id (int)

返回类型:

ModelParamMapping | None

get_by_model(product_model)[源代码]

按产品型号查询对照记录。

参数:

product_model (str)

返回类型:

ModelParamMapping | None

create(data)[源代码]

新增记录(不提交,交由控制器统一 commit)。

参数:

data (dict[str, Any])

返回类型:

ModelParamMapping

update(mapping_id, data)[源代码]

更新记录(不提交);id 不存在返回 None。

参数:
返回类型:

ModelParamMapping | None

delete(mapping_id)[源代码]

删除记录(不提交);id 不存在返回 False。

参数:

mapping_id (int)

返回类型:

bool

seed_common_models()[源代码]

幂等灌入常见型号→压力示例,库非空则跳过(不破坏已有数据)。

返回类型:

int

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 → 按策略合并。

参数:
返回类型:

None

export_csv(path)[源代码]

把当前 model_param_mappings 表整表导出为 CSV 快照,返回行数。

参数:

path (str | Any)

返回类型:

int

import_csv(path)[源代码]

把 CSV 快照 upsert 回 model_param_mappings 表,返回统计。

参数:

path (str | Any)

返回类型:

dict[str, int]