certflow.controllers.report_controller module¶
报告控制器模块
处理报告生成的业务逻辑,协调「数据库取数 → 填充 Excel 模板 → 落盘交付」。 底层使用 ``certflow.services.report_fill_service``(openpyxl 填充 + ReportOutputService), 取代旧的报告生成器(ReportLab 程序化硬编码,与 12 模板不可维护,已排除)。
- class certflow.controllers.report_controller.ReportController(db_session=None)[源代码]¶
-
报告控制器 - 处理报告生成的业务逻辑
提供质保书 / 试压报告 / 材质报告的生成,以及模板查询、文件打开等功能。
- generate_report(sale_plan_ids, report_kind='quality', language='zh', records_per_page=6, export_pdf=None)[源代码]¶
生成报告(统一入口)。
- 参数:
- 返回:
ReportOutputService.emit 的结果(含 success/folder/xlsx/pdf/sealed)。
- 返回类型:
- generate_pressure_test_report(sale_plan_ids, template='standard', language='zh', records_per_page=5)[源代码]¶
生成试压报告(兼容旧签名)。
- generate_material_report(data_ids, report_type='material', language='zh', records_per_page=6)[源代码]¶
生成材质报告或质保书(兼容旧签名)。
- query(conditions=None, page=1, page_size=200, or_filters=None)[源代码]¶
复用查询引擎对全库检索(报告数据选择)。
收口
report_view对QueryService的直连调用,使取数统一经 Controller。