6.0 KiB
6.0 KiB
模板处理说明
本文档说明如何使用脚本处理原始模板文档,自动添加占位符并初始化到数据库和MinIO。
脚本说明
1. process_templates.py - 模板占位符处理脚本
功能:
- 自动扫描
模板/原始模板目录下的所有.doc和.docx文件 - 根据文件名识别文档类型
- 根据占位符与字段对照表,智能识别并添加占位符
- 将处理后的模板保存到
模板文件夹下(保持目录结构)
使用方法:
python process_templates.py
处理流程:
- 扫描原始模板目录
- 识别每个文档的类型(根据文件名匹配)
- 如果是
.doc文件,自动转换为.docx格式(需要 Windows 系统和 pywin32) - 在文档中查找字段名称,并在其后添加占位符(格式:
{{field_code}}) - 保存处理后的模板到输出目录
注意事项:
- 如果系统未安装
pywin32,.doc文件无法自动转换,需要手动转换为.docx格式 - 脚本会智能识别字段名称后的内容,并替换为占位符
- 常见的占位符(如 "XXX"、"待填" 等)会被自动替换
- 处理后的模板需要人工检查,确认占位符位置是否正确
2. init_all_templates.py - 模板初始化脚本
功能:
- 扫描
模板目录下的所有.docx文件(排除原始模板目录) - 上传模板文件到 MinIO 服务器
- 在数据库中创建或更新文件配置记录
使用方法:
python init_all_templates.py
处理流程:
- 连接数据库和 MinIO
- 扫描模板目录下的所有
.docx文件 - 根据文件名识别文档类型和模板编码
- 上传文件到 MinIO(路径:
/租户ID/TEMPLATE/年/月/文件名.docx) - 在数据库中创建或更新文件配置记录
注意事项:
- 确保数据库和 MinIO 连接配置正确
- 如果文件配置已存在,会更新文件路径
- 如果文件配置不存在,会创建新记录
使用步骤
第一步:处理原始模板
- 确保所有原始模板文件已放在
模板/原始模板目录下 - 运行处理脚本:
python process_templates.py - 检查生成的模板文件,确认占位符是否正确添加
- 如有需要,手动调整占位符位置
第二步:初始化模板到系统
- 确认所有模板文件已处理完成并检查无误
- 运行初始化脚本:
python init_all_templates.py - 检查输出信息,确认所有模板已成功上传和配置
文档类型识别
脚本会根据文件名自动识别文档类型,支持的文档类型包括:
| 文档名称 | 模板编码 | 说明 |
|---|---|---|
| 请示报告卡 | REPORT_CARD | 初核请示相关 |
| 初步核实审批表 | PRELIMINARY_VERIFICATION_APPROVAL | 初步核实审批 |
| 初核方案 | INVESTIGATION_PLAN | 初核方案 |
| 谈话通知书 | NOTIFICATION_LETTER | 谈话通知 |
| 谈话笔录 | INTERVIEW_RECORD | 谈话记录 |
| 谈话询问对象情况摸底调查30问 | INVESTIGATION_30_QUESTIONS | 摸底调查 |
| 被谈话人权利义务告知书 | RIGHTS_OBLIGATIONS_NOTICE | 权利义务告知 |
| 点对点交接单 | HANDOVER_FORM | 交接单 |
| 陪送交接单 | ESCORT_HANDOVER_FORM | 陪送交接 |
| 保密承诺书 | CONFIDENTIALITY_COMMITMENT | 保密承诺 |
| 办案人员-办案安全保密承诺书 | INVESTIGATOR_CONFIDENTIALITY_COMMITMENT | 办案人员承诺 |
| 请示报告卡(初核报告结论) | REPORT_CARD_CONCLUSION | 初核结论 |
| 初核情况报告 | INVESTIGATION_REPORT | 初核报告 |
| 谈话审批表 | INTERVIEW_APPROVAL_FORM | 谈话审批 |
| 谈话前安全风险评估表 | PRE_INTERVIEW_RISK_ASSESSMENT | 风险评估 |
| 谈话方案 | INTERVIEW_PLAN | 谈话方案 |
| 谈话后安全风险评估表 | POST_INTERVIEW_RISK_ASSESSMENT | 风险评估 |
占位符格式
所有占位符使用以下格式:
{{field_code}}
例如:
{{target_name}}- 被核查人姓名{{target_organization_and_position}}- 被核查人员单位及职务{{target_gender}}- 被核查人员性别
完整的字段列表请参考 占位符与字段对照表.md。
常见问题
Q1: .doc 文件无法转换怎么办?
A: 如果系统未安装 pywin32,可以:
- 安装 pywin32:
pip install pywin32 - 或者手动将
.doc文件转换为.docx格式
Q2: 占位符位置不正确怎么办?
A: 脚本会自动识别字段名称并添加占位符,但可能不够精确。建议:
- 检查生成的模板文件
- 手动调整占位符位置
- 确保占位符格式正确:
{{field_code}}
Q3: 文档类型无法识别怎么办?
A: 如果文档类型无法识别:
- 检查文件名是否包含文档类型关键词
- 可以在
process_templates.py中的DOCUMENT_TYPE_MAPPING添加新的映射 - 或者手动指定文档类型
Q4: 上传到 MinIO 失败怎么办?
A: 检查:
- MinIO 连接配置是否正确
- 存储桶是否存在
- 网络连接是否正常
- 文件路径是否正确
Q5: 数据库更新失败怎么办?
A: 检查:
- 数据库连接配置是否正确
- 数据库表结构是否正确
- 租户ID是否正确
- 是否有足够的权限
文件结构
处理后的文件结构:
模板/
├── 初步核实审批表模板.docx # 已处理的模板
├── 原始模板/ # 原始模板(不处理)
│ └── 2-初核模版/
│ └── ...
└── [其他已处理的模板文件]
注意事项
- 备份原始文件:处理前建议备份原始模板文件
- 检查占位符:处理后的模板需要人工检查,确认占位符位置正确
- 测试生成:初始化后,建议测试文档生成功能,确认模板可用
- 版本控制:建议使用版本控制管理模板文件
技术支持
如有问题,请检查:
- 脚本输出日志
- 数据库和 MinIO 连接状态
- 文件路径和权限
- 占位符格式是否正确