certflow.views.report_view module

报告生成视图模块

提供报告生成的界面组件:模板/语言选择、数据选择(来自 certflow.db 的销售计划)、 报告生成(后台线程,避免界面阻塞)与结果展示。

生成链路:ReportViewReportController.generate_reportreport_fill_service.generate``(填充 12 模板之一)→ ``ReportOutputService.emit (双存根 xlsx+pdf + 文件夹 + 报告目录)。

class certflow.views.report_view.ReportWorker(controller, sale_plan_ids, report_kind, language, records_per_page, export_pdf=None)[源代码]

基类:QThread

报告生成工作线程(后台执行,避免阻塞主界面)。

参数:
finished
progress
run()[源代码]
返回类型:

None

staticMetaObject = PySide6.QtCore.QMetaObject("ReportWorker" inherits "QThread": Methods:   #12 type=Signal, signature=finished(QVariantMap), parameters=QVariantMap   #13 type=Signal, signature=progress(int,QString), parameters=int, QString )
class certflow.views.report_view.ReportView(controller=None, parent=None)[源代码]

基类:QuickSearchPresetMixin, QWidget

报告生成视图。

提供报告类型/语言/每页记录数选择、可勾选的数据列表(来自数据库销售计划)、 生成按钮与结果提示。

参数:
populate_page_options(report_kind)[源代码]

按报告类型填充「每页行数」候选(配置可选,而非数字递增)。

参数:

report_kind (str)

返回类型:

None

setup_ui()[源代码]
返回类型:

None

create_template_group()[源代码]
返回类型:

QGroupBox

create_data_group()[源代码]
返回类型:

QGroupBox

create_preview_group()[源代码]
返回类型:

QGroupBox

create_button_bar()[源代码]
返回类型:

QHBoxLayout

load_data()[源代码]

从数据库加载销售计划到选择表格(全库,无 500 上限)。

返回类型:

None

load_all()[源代码]

加载全部销售计划(全库检索,不限制 500 条)。

返回类型:

None

取 FilterBar 统一条件契约,对全库做检索并刷新勾选表格。

参数:

or_filters (Any) -- 可选 OR 条件列表(快查模糊输入无分隔符时传入), 与筛选行条件以 OR 组合。

返回类型:

None

on_report_type_changed(report_type)[源代码]

报告类型切换时刷新「每页行数」候选(配置驱动)。

参数:

report_type (str)

返回类型:

None

select_all()[源代码]
返回类型:

None

clear_all()[源代码]
返回类型:

None

get_selected_ids()[源代码]
返回类型:

list[int]

update_data_table(data)[源代码]
参数:

data (list[dict[str, Any]])

返回类型:

None

update_info(text)[源代码]
参数:

text (str)

返回类型:

None

on_generate()[源代码]
返回类型:

None

show_result(result)[源代码]
参数:

result (dict[str, Any])

返回类型:

None

on_open_folder()[源代码]
返回类型:

None

on_preview_bom()[源代码]

对首个选中行取生产令号,预览 BOM 材质归类(命中主材位 + 待核对明细)。

返回类型:

None

staticMetaObject = PySide6.QtCore.QMetaObject("ReportView" inherits "QWidget": )