# 模板处理说明 本文档说明如何使用脚本处理原始模板文档,自动添加占位符并初始化到数据库和MinIO。 ## 脚本说明 ### 1. process_templates.py - 模板占位符处理脚本 **功能:** - 自动扫描 `模板/原始模板` 目录下的所有 `.doc` 和 `.docx` 文件 - 根据文件名识别文档类型 - 根据占位符与字段对照表,智能识别并添加占位符 - 将处理后的模板保存到 `模板` 文件夹下(保持目录结构) **使用方法:** ```bash python process_templates.py ``` **处理流程:** 1. 扫描原始模板目录 2. 识别每个文档的类型(根据文件名匹配) 3. 如果是 `.doc` 文件,自动转换为 `.docx` 格式(需要 Windows 系统和 pywin32) 4. 在文档中查找字段名称,并在其后添加占位符(格式:`{{field_code}}`) 5. 保存处理后的模板到输出目录 **注意事项:** - 如果系统未安装 `pywin32`,`.doc` 文件无法自动转换,需要手动转换为 `.docx` 格式 - 脚本会智能识别字段名称后的内容,并替换为占位符 - 常见的占位符(如 "XXX"、"待填" 等)会被自动替换 - 处理后的模板需要人工检查,确认占位符位置是否正确 ### 2. init_all_templates.py - 模板初始化脚本 **功能:** - 扫描 `模板` 目录下的所有 `.docx` 文件(排除原始模板目录) - 上传模板文件到 MinIO 服务器 - 在数据库中创建或更新文件配置记录 **使用方法:** ```bash python init_all_templates.py ``` **处理流程:** 1. 连接数据库和 MinIO 2. 扫描模板目录下的所有 `.docx` 文件 3. 根据文件名识别文档类型和模板编码 4. 上传文件到 MinIO(路径:`/租户ID/TEMPLATE/年/月/文件名.docx`) 5. 在数据库中创建或更新文件配置记录 **注意事项:** - 确保数据库和 MinIO 连接配置正确 - 如果文件配置已存在,会更新文件路径 - 如果文件配置不存在,会创建新记录 ## 使用步骤 ### 第一步:处理原始模板 1. 确保所有原始模板文件已放在 `模板/原始模板` 目录下 2. 运行处理脚本: ```bash python process_templates.py ``` 3. 检查生成的模板文件,确认占位符是否正确添加 4. 如有需要,手动调整占位符位置 ### 第二步:初始化模板到系统 1. 确认所有模板文件已处理完成并检查无误 2. 运行初始化脚本: ```bash python init_all_templates.py ``` 3. 检查输出信息,确认所有模板已成功上传和配置 ## 文档类型识别 脚本会根据文件名自动识别文档类型,支持的文档类型包括: | 文档名称 | 模板编码 | 说明 | |---------|---------|------| | 请示报告卡 | 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`,可以: 1. 安装 pywin32: `pip install pywin32` 2. 或者手动将 `.doc` 文件转换为 `.docx` 格式 ### Q2: 占位符位置不正确怎么办? **A:** 脚本会自动识别字段名称并添加占位符,但可能不够精确。建议: 1. 检查生成的模板文件 2. 手动调整占位符位置 3. 确保占位符格式正确:`{{field_code}}` ### Q3: 文档类型无法识别怎么办? **A:** 如果文档类型无法识别: 1. 检查文件名是否包含文档类型关键词 2. 可以在 `process_templates.py` 中的 `DOCUMENT_TYPE_MAPPING` 添加新的映射 3. 或者手动指定文档类型 ### Q4: 上传到 MinIO 失败怎么办? **A:** 检查: 1. MinIO 连接配置是否正确 2. 存储桶是否存在 3. 网络连接是否正常 4. 文件路径是否正确 ### Q5: 数据库更新失败怎么办? **A:** 检查: 1. 数据库连接配置是否正确 2. 数据库表结构是否正确 3. 租户ID是否正确 4. 是否有足够的权限 ## 文件结构 处理后的文件结构: ``` 模板/ ├── 初步核实审批表模板.docx # 已处理的模板 ├── 原始模板/ # 原始模板(不处理) │ └── 2-初核模版/ │ └── ... └── [其他已处理的模板文件] ``` ## 注意事项 1. **备份原始文件**:处理前建议备份原始模板文件 2. **检查占位符**:处理后的模板需要人工检查,确认占位符位置正确 3. **测试生成**:初始化后,建议测试文档生成功能,确认模板可用 4. **版本控制**:建议使用版本控制管理模板文件 ## 技术支持 如有问题,请检查: 1. 脚本输出日志 2. 数据库和 MinIO 连接状态 3. 文件路径和权限 4. 占位符格式是否正确