fix: add missing self._pipeline_mode assignment + getattr guard + init stats_data before try

This commit is contained in:
duxin
2026-07-14 15:22:24 +08:00
parent 5b04a120e3
commit d0344b8fa0

View File

@ -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每个公式一行统计