fix(imports): 修复 AI 导入向导多工作表与表头误判
- AI resolve 生成向导时按阶段携带全部 sheetNames,不再只取第一张表 - ImportStageRequest 支持 sheets 数组并兼容旧 sheet;手动重传同步修复 - headerMatches 收窄为单向包含,避免宿舍号被原/新宿舍号反向匹配 - suggestStep 增加入住/换宿显式表头信号,修复入住表误判为换宿 - 预检与预览按工作表逐表解析列映射,兼容异构表头 - 修复预检卡生成向导成功后按钮未复位 loading 的问题 - 补充 mapping/预检/run/ai-chat 多工作表测试
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
type PreflightReport,
|
||||
} from '../imports/imports.types';
|
||||
import { permittedStepKeys } from '../imports/imports.access';
|
||||
import { expandStageSheets } from '../imports/imports.mapping';
|
||||
import type { AiChatServiceContext, AiSseEmitter, ModelToolCall } from './ai-chat.types';
|
||||
import type { AgentToolContext } from './ai-chat.tools';
|
||||
import { AiMessage } from './entities';
|
||||
@@ -173,8 +174,8 @@ export const executeStartImportWizard = makeImportToolExecutor(
|
||||
if (!IMPORT_STEP_KEYS.includes(stage.stepKey)) {
|
||||
throw new Error(`stages 包含未知业务类型:${String(stage.stepKey)}`);
|
||||
}
|
||||
if (!stage.sheet || !String(stage.sheet).trim()) {
|
||||
throw new Error(`stages 中「${stage.stepKey}」缺少工作表 sheet,请指定 Excel 中对应的 sheet 名`);
|
||||
if (expandStageSheets(stage).length === 0) {
|
||||
throw new Error(`stages 中「${stage.stepKey}」缺少工作表 sheet/sheets,请指定 Excel 中对应的表名`);
|
||||
}
|
||||
if (
|
||||
stage.headerRow !== undefined &&
|
||||
|
||||
Reference in New Issue
Block a user