ai-business-write/模板处理完成说明.md

154 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 模板处理脚本完成说明
## 已完成的工作
### 1. 创建了两个主要脚本
#### `process_templates.py` - 模板占位符处理脚本
- ✅ 自动扫描 `模板/原始模板` 目录下的所有 `.doc``.docx` 文件
- ✅ 根据文件名智能识别文档类型支持17种文档类型
- ✅ 自动将 `.doc` 文件转换为 `.docx` 格式(需要 Windows + pywin32
- ✅ 根据占位符与字段对照表,智能识别字段名称并添加占位符
- ✅ 处理后的模板保存到 `模板` 文件夹,保持原有目录结构
#### `init_all_templates.py` - 模板初始化脚本
- ✅ 扫描 `模板` 目录下的所有 `.docx` 文件(排除原始模板目录)
- ✅ 自动识别文档类型和模板编码
- ✅ 上传模板文件到 MinIO 服务器
- ✅ 在数据库中创建或更新文件配置记录(使用 `template_code` 字段)
### 2. 支持的文档类型
脚本支持以下17种文档类型
1. 请示报告卡 (REPORT_CARD)
2. 初步核实审批表 (PRELIMINARY_VERIFICATION_APPROVAL)
3. 初核方案 (INVESTIGATION_PLAN)
4. 谈话通知书 (NOTIFICATION_LETTER)
5. 谈话笔录 (INTERVIEW_RECORD)
6. 谈话询问对象情况摸底调查30问 (INVESTIGATION_30_QUESTIONS)
7. 被谈话人权利义务告知书 (RIGHTS_OBLIGATIONS_NOTICE)
8. 点对点交接单 (HANDOVER_FORM)
9. 陪送交接单 (ESCORT_HANDOVER_FORM)
10. 保密承诺书 (CONFIDENTIALITY_COMMITMENT)
11. 办案人员-办案安全保密承诺书 (INVESTIGATOR_CONFIDENTIALITY_COMMITMENT)
12. 请示报告卡(初核报告结论) (REPORT_CARD_CONCLUSION)
13. 初核情况报告 (INVESTIGATION_REPORT)
14. 谈话审批表 (INTERVIEW_APPROVAL_FORM)
15. 谈话前安全风险评估表 (PRE_INTERVIEW_RISK_ASSESSMENT)
16. 谈话方案 (INTERVIEW_PLAN)
17. 谈话后安全风险评估表 (POST_INTERVIEW_RISK_ASSESSMENT)
### 3. 占位符处理逻辑
脚本会智能识别以下模式并添加占位符:
1. **字段名称: 具体值****字段名称: {{field_code}}**
- 例如:`被核查人姓名: 张三``被核查人姓名: {{target_name}}`
2. **字段名称: XXX/待填****字段名称: {{field_code}}**
- 例如:`被核查人姓名: XXX``被核查人姓名: {{target_name}}`
3. **表格中的字段**:同样处理表格单元格中的字段
### 4. 使用步骤
#### 第一步:处理原始模板
```bash
python process_templates.py
```
**输出:**
- 处理后的模板保存在 `模板` 文件夹下
- 保持原有的目录结构
- 所有文件统一为 `.docx` 格式
**注意:**
- 处理后的模板需要人工检查,确认占位符位置是否正确
- 如有需要,可以手动调整占位符位置
#### 第二步:初始化模板到系统
```bash
python init_all_templates.py
```
**功能:**
- 上传所有模板到 MinIO
- 在数据库中创建或更新文件配置记录
- 使用 `template_code` 字段存储模板编码
**输出:**
- 显示处理进度和结果
- 统计成功、跳过、失败的文件数量
## 文件结构
```
项目根目录/
├── process_templates.py # 模板处理脚本
├── init_all_templates.py # 初始化脚本
├── 模板处理说明.md # 详细使用说明
├── 模板/
│ ├── 初步核实审批表模板.docx # 已处理的模板(示例)
│ └── 原始模板/ # 原始模板(不处理)
│ └── 2-初核模版/
│ └── ...
└── 占位符与字段对照表.md # 字段对照表
```
## 注意事项
1. **依赖要求:**
- `python-docx` - 处理 Word 文档
- `pywin32` - 转换 .doc 文件(仅 Windows可选
- `pymysql` - 数据库操作
- `minio` - MinIO 客户端
2. **.doc 文件处理:**
- 如果未安装 `pywin32`,需要手动将 `.doc` 文件转换为 `.docx` 格式
- 或者安装:`pip install pywin32`
3. **占位符检查:**
- 处理后的模板需要人工检查
- 确保占位符格式正确:`{{field_code}}`
- 确保占位符位置合理
4. **数据库配置:**
- 确保数据库连接配置正确
- 确保 `f_polic_file_config` 表有 `template_code` 字段
- 确保有足够的权限
5. **MinIO 配置:**
- 确保 MinIO 连接配置正确
- 确保存储桶 `finyx` 存在
- 确保有上传权限
## 后续工作
1. **检查生成的模板:**
- 打开处理后的模板文件
- 检查占位符是否正确添加
- 手动调整不正确的占位符
2. **运行初始化脚本:**
- 确认所有模板检查无误后
- 运行 `init_all_templates.py`
- 检查输出信息,确认所有模板已成功上传
3. **测试文档生成:**
- 使用 API 测试文档生成功能
- 确认模板可以正常使用
- 检查生成的文档是否正确填充
## 技术支持
如有问题,请检查:
1. 脚本输出日志
2. 数据库和 MinIO 连接状态
3. 文件路径和权限
4. 占位符格式是否正确
参考文档:
- `模板处理说明.md` - 详细使用说明
- `占位符与字段对照表.md` - 字段对照表