ai-business-write/技术文档/模板处理说明.md

6.0 KiB
Raw Blame History

模板处理说明

本文档说明如何使用脚本处理原始模板文档自动添加占位符并初始化到数据库和MinIO。

脚本说明

1. process_templates.py - 模板占位符处理脚本

功能:

  • 自动扫描 模板/原始模板 目录下的所有 .doc.docx 文件
  • 根据文件名识别文档类型
  • 根据占位符与字段对照表,智能识别并添加占位符
  • 将处理后的模板保存到 模板 文件夹下(保持目录结构)

使用方法:

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 服务器
  • 在数据库中创建或更新文件配置记录

使用方法:

python init_all_templates.py

处理流程:

  1. 连接数据库和 MinIO
  2. 扫描模板目录下的所有 .docx 文件
  3. 根据文件名识别文档类型和模板编码
  4. 上传文件到 MinIO路径/租户ID/TEMPLATE/年/月/文件名.docx
  5. 在数据库中创建或更新文件配置记录

注意事项:

  • 确保数据库和 MinIO 连接配置正确
  • 如果文件配置已存在,会更新文件路径
  • 如果文件配置不存在,会创建新记录

使用步骤

第一步:处理原始模板

  1. 确保所有原始模板文件已放在 模板/原始模板 目录下
  2. 运行处理脚本:
    python process_templates.py
    
  3. 检查生成的模板文件,确认占位符是否正确添加
  4. 如有需要,手动调整占位符位置

第二步:初始化模板到系统

  1. 确认所有模板文件已处理完成并检查无误
  2. 运行初始化脚本:
    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. 占位符格式是否正确