certflow.views.bases.datasources package

Submodules

Module contents

查询数据源具体实现集合(阶段 A)。

  • SalePlanDataSource:销售计划(服务端排序 + 分页 + OR 快查)

  • CorrectionDataSource:校正队列(黄标过滤的销售计划)

  • BaseDataDataSource:基础数据(材质/口径/型号→压力,客户端过滤 + 排序)

  • BomQueryDataSource:BOM 零件牌号查询(按生产令号,客户端过滤 + 排序)

class certflow.views.bases.datasources.BaseDataDataSource(controller, columns, filter_columns=None, label='基础数据')[源代码]

基类:BaseQueryDataSource

基础数据(全量小表)数据源:list_all 后客户端过滤/排序/分页。

参数:
supports_server_sort: bool = False
supports_server_paging: bool = False
quick_search_or: bool = False
editable: bool = False
correction: bool = False
get_columns()[源代码]
返回类型:

list[tuple[str, str]]

get_filter_columns()[源代码]

默认把所有显示列作为可筛选字段;子类可覆盖以精简。

返回类型:

list[dict]

query(conditions, page, page_size, order_by=None, order_desc=False, or_filters=None)[源代码]
参数:
  • conditions (dict)

  • page (int)

  • page_size (int)

  • order_by (str | None)

  • order_desc (bool)

  • or_filters (Any)

返回类型:

dict[str, Any]

export_csv(path)[源代码]
参数:

path (str)

返回类型:

int

class certflow.views.bases.datasources.BomQueryDataSource(controller)[源代码]

基类:BaseQueryDataSource

BOM 零件牌号查询数据源(客户端过滤/排序)。

参数:

controller (Any)

supports_server_sort: bool = False
supports_server_paging: bool = False
quick_search_or: bool = False
editable: bool = True
correction: bool = False
get_columns()[源代码]
返回类型:

list[tuple[str, str]]

get_filter_columns()[源代码]

默认把所有显示列作为可筛选字段;子类可覆盖以精简。

返回类型:

list[dict]

query(conditions, page, page_size, order_by=None, order_desc=False, or_filters=None)[源代码]
参数:
  • conditions (dict)

  • page (int)

  • page_size (int)

  • order_by (str | None)

  • order_desc (bool)

  • or_filters (Any)

返回类型:

dict[str, Any]

export_csv(path)[源代码]
参数:

path (str)

返回类型:

int

class certflow.views.bases.datasources.CorrectionDataSource(controller, columns=None)[源代码]

基类:SalePlanDataSource

校正队列数据源:仅返回黄标(flag=True)销售计划。

仅通过 _fixed_conditions 注入 flag 过滤,复用父类 query,消除特例分支。

参数:
supports_server_sort: bool = True
supports_server_paging: bool = True
quick_search_or: bool = False
editable: bool = True
correction: bool = True
get_columns()[源代码]
返回类型:

list[tuple[str, str]]

class certflow.views.bases.datasources.SalePlanDataSource(controller, columns=None)[源代码]

基类:BaseQueryDataSource

销售计划数据源:委托 QueryController 走服务端查询。

_fixed_conditions / _default_order_by 供子类(如 CorrectionDataSource) 参数化覆盖,注入固定查询条件与默认排序列,免去重写 query

列定义:默认使用 SALE_PLAN_COLUMNS 代表列;from_views_config 可读取 ui.yaml 的默认销售计划视图列(与 query_view 显示列对齐,落实阶段 B 接入)。

参数:
supports_server_sort: bool = True
supports_server_paging: bool = True
quick_search_or: bool = True
editable: bool = False
correction: bool = False
get_columns()[源代码]
返回类型:

list[tuple[str, str]]

classmethod from_views_config(controller, view_key=None)[源代码]

从 ui.yaml 的 query_page.views 读取视图列,构造与 query_view 显示列一致的数据源。

参数:
  • controller (Any) -- QueryController 实例。

  • view_key (str | None) -- 视图标识;缺省取首个视图(即 QueryView 默认视图)。

返回类型:

SalePlanDataSource

query(conditions, page, page_size, order_by=None, order_desc=False, or_filters=None)[源代码]
参数:
  • conditions (dict)

  • page (int)

  • page_size (int)

  • order_by (str | None)

  • order_desc (bool)

  • or_filters (Any)

返回类型:

dict[str, Any]

export_csv(path)[源代码]
参数:

path (str)

返回类型:

int