From d0344b8fa06f677bf776b09e793450bae0618b77 Mon Sep 17 00:00:00 2001 From: duxin Date: Tue, 14 Jul 2026 15:22:24 +0800 Subject: [PATCH] fix: add missing self._pipeline_mode assignment + getattr guard + init stats_data before try --- src/postprocessing/report_word.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/postprocessing/report_word.py b/src/postprocessing/report_word.py index c66030d..d919b3c 100644 --- a/src/postprocessing/report_word.py +++ b/src/postprocessing/report_word.py @@ -818,6 +818,9 @@ class WaterQualityReportGenerator: else: print(f"[报告] 用户选择 → {report_mode}") + # 存储管线模式到实例,供后续 _add_result_analysis_section 等使用 + self._pipeline_mode = 'water_index' if report_mode == 'formula' else 'ml' + if report_mode == 'formula': return self._generate_formula_report(parameters, report_title, output_path, ai_maps_limit=ai_maps_limit, on_progress=on_progress) @@ -1857,7 +1860,7 @@ class WaterQualityReportGenerator: stats_dir = work_dir_path / "5_Data_Cleaning" if not stats_dir.exists(): - alt_name = "10_WaterIndex_CSV" if self._pipeline_mode == 'water_index' else "5_Data_Cleaning" + alt_name = "10_WaterIndex_CSV" if getattr(self, '_pipeline_mode', 'ml') == 'water_index' else "5_Data_Cleaning" doc.add_paragraph(f"未找到数据目录: {stats_dir}") doc.add_page_break() return start_figure_num @@ -1870,6 +1873,7 @@ class WaterQualityReportGenerator: csv_path = csv_files[0] # 使用找到的第一个CSV文件 + stats_data = [] try: if getattr(self, '_pipeline_mode', 'ml') == 'water_index': # 水色指数模式:遍历所有 CSV,每个公式一行统计