# 1. 资料包导入与目录汇总详细设计

## 1. 设计目标

本步骤对应最新版原型中的 `资料包` 页面与 `审核智能体` 上传入口，目标是把用户导入的注册申报资料转为：

1. 可绑定会话的资料包对象
2. 可展示目录和页数的结构化结果
3. 可进入后续审核链路的文档底座

本步骤执行完成后，系统应至少产出：

1. `batch_id`
2. `product_name`
3. `conversation_id`
4. `registration_overview_report`

## 2. 页面与模块对应

### 2.1 `资料包` 页面

用于展示：

1. 资料包列表
2. 产品名称搜索框
3. 资料包与会话关联关系
4. 文件目录、页数、章节点和异常

### 2.2 `审核智能体` 页面

用于触发：

1. 上传资料包
2. 自动创建或绑定会话
3. 在对话中插入“目录汇总”节点结果

### 2.3 `apps.documents`

负责：

1. 资料包模型
2. 文档模型
3. 页数统计
4. 章节点识别
5. 目录汇总服务

## 3. 核心数据结构

### 3.1 SubmissionBatch

建议包含：

1. `batch_no`
2. `product_name`
3. `workflow_type`
4. `conversation_id`
5. `file_count`
6. `page_count`
7. `import_status`
8. `exception_count`

### 3.2 UploadedDocument

建议增加：

1. `batch_id`
2. `relative_path`
3. `chapter_code`
4. `document_role`
5. `page_count`
6. `page_count_confidence`
7. `chapter_match_status`
8. `needs_manual_review`

## 4. 主流程

```text
上传资料包
-> 创建批次
-> 保存原始文件
-> 解包 / 扫描目录
-> 统计页数
-> 识别产品名称
-> 识别章节点
-> 生成目录汇总
-> 创建或绑定会话
-> 返回资料包页与对话节点
```

## 5. 关键节点设计

### 5.1 产品名称解析

优先来源：

1. 申请表
2. 目标产品说明书
3. 产品列表

结果用途：

1. 作为资料包主标题
2. 作为会话标题
3. 作为资料包搜索主字段

### 5.2 资料包与会话绑定

规则固定为：

1. 新导入资料包默认生成一个主会话
2. 主会话标题使用解析后的 `product_name`
3. 资料包页“查看对话”跳转到 `conversation_id`

### 5.3 目录汇总输出

输出对象 `registration_overview_report` 至少包含：

1. `batch_id`
2. `product_name`
3. `file_count`
4. `total_page_count`
5. `chapter_summary`
6. `documents`
7. `warnings`

## 6. 异常策略

以下情况标记为待复核：

1. DOC 页数无法精确统计
2. 章节点无法确定
3. 产品名称来源冲突
4. 目录路径疑似错放

## 7. 与后续步骤的接口

本步骤向后续步骤提供：

1. `batch_id`
2. `conversation_id`
3. `product_name`
4. `document_scope`
5. `chapter_summary`

## 8. 验收标准

1. 资料包导入后形成批次记录。
2. 会话标题使用解析出的产品名称。
3. 资料包页支持按产品名称搜索。
4. 目录汇总结果可直接进入 Agent 节点展示。
