-
Data Governance Dev authored
后端 - models.py: ConnectRequest 加 columns: list[{table_name, column_name}] (空 = 走选中表全量字段;非空 = 仅跑用户勾选字段) - orchestrator.py: run_governance_workflow 接 columns,构造 column_filter: set[(table, column)] 传给每个 step - job_manager.py: _run_job 透传 columns - step2/4/5/6: 加 column_filter 参数 + 按 (table, column) 过滤 - step7 (核心): 删除 _collect_hit_columns 关键字推断 (applies_to_fields / comment_keywords 不再用于挑选目标字段), 改为 _select_target_columns 直接返回上游 column_filter 后的字段; run_step7_for_indicator 单值类分支去掉 has_name/has_cmt 守门 前端 - index.html: 右表格加 checkbox 列 + 全选/清空/反选 工具栏 - form.columns: Set<table||column>,勾上表时联动勾上表所有字段、 取消表时移除该表所有字段,用户手动调整不联动回表 - startJob(): Set → [{table_name, column_name}] 后提交 - 启动按钮增加 columns.size === 0 守门 + 新 alert - disconnectDataDict / testConnection 成功 后清空 form.columns 修复 - testConnection() 不再传 Set 类型的 columns(JSON.stringify 会变 {} 导致 Pydantic 422),改为显式传空 list - data_dict.py: 达梦环境下 ALL_TAB_COLUMNS / ALL_COL_COMMENTS 视图 可能返回 N 倍重复行(B_ZJZX 12 字段实测 78 行),Python 端按 (table_name, column_name) 兜底去重,命中时打 WARN 日志02de2a61