145 lines
3.8 KiB
Markdown
145 lines
3.8 KiB
Markdown
# 开发进度总结
|
||
|
||
## 已完成的工作
|
||
|
||
### 1. ✅ 解析接口调整
|
||
- 已取消 `business_type` 参数
|
||
- 已新增 `outputData` 参数
|
||
- 已实现根据 `fieldCode` 从数据库查询字段配置
|
||
- 接口路径:`/ai/extract` 和 `/api/ai/extract`(兼容旧路径)
|
||
|
||
**相关文件:**
|
||
- `app.py` - 解析接口实现
|
||
- `services/field_service.py` - 新增 `get_output_fields_by_field_codes` 方法
|
||
|
||
### 2. ✅ Excel文件解析
|
||
- 已创建 `parse_excel_fields.py` 脚本
|
||
- 成功解析Excel文件,提取所有字段定义
|
||
- 识别了8个模板和对应的字段关系
|
||
|
||
**解析结果:**
|
||
- 初步核实审批表
|
||
- 请示报告卡
|
||
- 初核方案
|
||
- 谈话通知书
|
||
- 走读式谈话流程
|
||
- 走读式谈话审批
|
||
- 请示报告卡(初核报告结论)
|
||
- XXX初核情况报告
|
||
|
||
### 3. ✅ 文档生成接口开发
|
||
- 已创建 `services/document_service.py` 文档服务
|
||
- 已实现Word模板填充功能
|
||
- 已实现MinIO文件上传功能
|
||
- 已实现模板下载功能
|
||
- 接口路径:`/ai/generate-document` 和 `/api/ai/generate-document`(兼容旧路径)
|
||
|
||
**功能特性:**
|
||
- 从MinIO下载模板
|
||
- 填充Word模板中的占位符 `{{field_code}}`
|
||
- 上传生成的文件到MinIO
|
||
- 返回相对路径(符合新接口要求)
|
||
|
||
### 4. ✅ 依赖库更新
|
||
- 已更新 `requirements.txt`,添加了:
|
||
- `python-docx==1.1.0` - Word文档处理
|
||
- `minio==7.2.3` - MinIO客户端
|
||
- `openpyxl==3.1.2` - Excel文件解析
|
||
|
||
## 待完成的工作
|
||
|
||
### 1. ⏳ 数据库初始化脚本
|
||
需要创建一个完整的脚本,将所有Excel中的字段初始化到数据库:
|
||
- 创建所有字段记录(输入字段和输出字段)
|
||
- 创建文件配置记录(使用template_code字段)
|
||
- 建立文件和字段的关联关系
|
||
|
||
**注意事项:**
|
||
- 不再写入 `input_data` 字段(同事需要使用)
|
||
- 使用 `template_code` 字段存储模板编码
|
||
- 需要生成准确的字段编码映射
|
||
|
||
### 2. ⏳ 调整prompt_config.json
|
||
根据新字段更新抽取规则,特别是:
|
||
- 为不同模板的字段添加特殊规则
|
||
- 更新字段格式化规则
|
||
|
||
### 3. ⏳ 生成占位符文档
|
||
创建一个MD文档,列出所有占位符和对应的数据字段:
|
||
- 列出所有模板的占位符
|
||
- 显示占位符对应的字段名称和字段编码
|
||
- 方便手工配置Word模板
|
||
|
||
### 4. ⏳ 数据库表结构更新
|
||
确保 `f_polic_file_config` 表支持:
|
||
- `template_code` 字段的读写
|
||
- 不再写入 `input_data` 字段(只读取)
|
||
|
||
## 技术要点
|
||
|
||
### 接口变更说明
|
||
|
||
#### 解析接口 (`/ai/extract`)
|
||
**变更前:**
|
||
```json
|
||
{
|
||
"businessType": "INVESTIGATION",
|
||
"inputData": [...]
|
||
}
|
||
```
|
||
|
||
**变更后:**
|
||
```json
|
||
{
|
||
"inputData": [...],
|
||
"outputData": [
|
||
{"fieldCode": "userName"},
|
||
{"fieldCode": "userAge"}
|
||
]
|
||
}
|
||
```
|
||
|
||
#### 文档生成接口 (`/ai/generate-document`)
|
||
**请求参数:**
|
||
```json
|
||
{
|
||
"inputData": [...],
|
||
"fpolicFieldParamFileList": [
|
||
{
|
||
"fileId": 1,
|
||
"fileName": "请示报告卡.doc",
|
||
"templateCode": "REPORT_CARD"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
**返回结果:**
|
||
- `filePath` 返回相对路径(如:`/202511261123/请示报告卡.doc`)
|
||
- 不再返回绝对路径
|
||
|
||
### 数据库字段说明
|
||
|
||
1. **f_polic_file_config 表**
|
||
- 新增字段:`template_code`(模板编码)
|
||
- `input_data` 字段:不再写入,只读取
|
||
|
||
2. **字段查询逻辑**
|
||
- 通过 `fieldCode` 从数据库查询字段配置
|
||
- 不再依赖 `business_type` 参数
|
||
|
||
## 下一步行动
|
||
|
||
1. 完成数据库初始化脚本
|
||
2. 调整 prompt_config.json
|
||
3. 生成占位符文档
|
||
4. 测试接口功能
|
||
|
||
## 注意事项
|
||
|
||
1. **MinIO路径格式**:返回相对路径,以 `/` 开头
|
||
2. **模板编码**:使用 `template_code` 字段,不再使用 `input_data` 中的 JSON
|
||
3. **字段编码映射**:需要从Excel中准确提取字段名称到字段编码的映射关系
|
||
4. **占位符格式**:Word模板中使用 `{{field_code}}` 格式
|
||
|