ai-business-write/模板字段关联关系更新报告.md
2025-12-30 10:41:35 +08:00

7.8 KiB
Raw Permalink Blame History

模板字段关联关系更新报告

更新时间

2025-12-16

一、更新概述

根据数据库设计说明,更新了所有模板的字段关联关系:

  • 输入字段:所有模板都关联了 clue_infotarget_basic_info_clue
  • 输出字段:根据模板中的占位符自动关联对应的输出字段

二、更新规则

2.1 输入字段关联规则

所有模板(文件节点)都自动关联以下输入字段:

  1. clue_info - 线索信息
  2. target_basic_info_clue - 被核查人员工作基本情况线索

2.2 输出字段关联规则

根据模板文件中的占位符(格式:{{field_code}})自动关联对应的输出字段:

  • 扫描模板文件中的段落和表格
  • 提取所有占位符
  • 根据占位符的 field_code 查找对应的输出字段(field_type=2
  • 如果字段不存在,自动创建该字段

三、更新结果

3.1 输入字段关联

  • 关联的模板数: 122/122 (100%)
  • 输入字段数: 2个
    • clue_info (ID: 1764656917384058)
    • target_basic_info_clue (ID: 1764656917996367)
  • 关联关系总数: 260条122个模板 × 2个输入字段

3.2 输出字段关联

  • 关联的模板数: 93/122 (76%)
  • 未关联的模板数: 29个这些模板没有占位符或占位符格式不正确
  • 发现的占位符总数: 35个不同的占位符
  • 关联关系总数: 325条

3.3 占位符列表35个

所有发现的占位符及其对应的输出字段:

  1. appointment_location - 约谈地点
  2. appointment_time - 约谈时间
  3. approval_time - 审批时间
  4. clue_source - 线索来源
  5. department_opinion - 部门意见
  6. handler_name - 处理人姓名
  7. handling_department - 处理部门
  8. investigation_location - 调查地点
  9. investigation_team_code - 调查组编号
  10. investigation_team_leader_name - 调查组组长姓名
  11. investigation_team_member_names - 调查组成员姓名
  12. investigation_unit_name - 调查单位名称
  13. target_address - 被核查人地址
  14. target_age - 被核查人年龄
  15. target_basic_info - 被核查人基本信息
  16. target_contact - 被核查人联系方式
  17. target_date_of_birth - 被核查人出生日期
  18. target_date_of_birth_full - 被核查人出生日期(完整)
  19. target_education - 被核查人学历
  20. target_education_level - 被核查人学历层次
  21. target_ethnicity - 被核查人民族
  22. target_family_situation - 被核查人家庭情况
  23. target_gender - 被核查人性别
  24. target_id_number - 被核查人身份证号
  25. target_issue_description - 被核查人问题描述
  26. target_name - 被核查人姓名
  27. target_organization - 被核查人单位
  28. target_organization_and_position - 被核查人单位及职务
  29. target_place_of_origin - 被核查人籍贯
  30. target_political_status - 被核查人政治面貌
  31. target_position - 被核查人职务
  32. target_professional_rank - 被核查人职级
  33. target_registered_address - 被核查人户籍地址
  34. target_social_relations - 被核查人社会关系
  35. target_work_basic_info - 被核查人工作基本信息

四、示例模板关联关系

4.1 示例18-1请示报告卡初核报告结论

  • 模板ID: 1765273962631542
  • 输入字段 (2个):
    • clue_info - 线索信息
    • target_basic_info_clue - 被核查人员工作基本情况线索
  • 输出字段 (3个):
    • investigation_team_code - 调查组编号
    • target_name - 被核查人姓名
    • target_organization_and_position - 被核查人单位及职务

4.2 示例2谈话通知书第三联

  • 模板ID: 1765273963038891
  • 输入字段 (2个):
    • clue_info - 线索信息
    • target_basic_info_clue - 被核查人员工作基本情况线索
  • 输出字段 (3个):
    • appointment_location - 约谈地点
    • appointment_time - 约谈时间
    • target_name - 被核查人姓名

4.3 示例3谈话通知书第一联

  • 模板ID: 1765273963625524
  • 输入字段 (2个):
    • clue_info - 线索信息
    • target_basic_info_clue - 被核查人员工作基本情况线索
  • 输出字段 (9个):
    • appointment_location - 约谈地点
    • appointment_time - 约谈时间
    • approval_time - 审批时间
    • handler_name - 处理人姓名
    • handling_department - 处理部门
    • target_id_number - 被核查人身份证号
    • target_name - 被核查人姓名
    • target_organization - 被核查人单位
    • target_position - 被核查人职务

五、数据库表结构

5.1 f_polic_file_field 表

关联关系存储在 f_polic_file_field 表中:

  • id: 关联关系ID主键
  • tenant_id: 租户ID
  • file_id: 文件配置ID关联 f_polic_file_config.id
  • filed_id: 字段ID关联 f_polic_field.id
  • state: 状态1=启用0=禁用)

5.2 查询示例

查询某个模板关联的所有字段:

SELECT 
    f.id AS field_id,
    f.name AS field_name,
    f.filed_code AS field_code,
    f.field_type,
    CASE 
        WHEN f.field_type = 1 THEN '输入字段'
        WHEN f.field_type = 2 THEN '输出字段'
    END AS field_type_name
FROM f_polic_file_field fff
INNER JOIN f_polic_field f ON fff.filed_id = f.id
WHERE fff.tenant_id = 1
AND fff.file_id = <模板ID>
AND fff.state = 1
AND f.state = 1
ORDER BY f.field_type, f.filed_code;

查询某个模板关联的输入字段:

SELECT f.*
FROM f_polic_file_field fff
INNER JOIN f_polic_field f ON fff.filed_id = f.id
WHERE fff.tenant_id = 1
AND fff.file_id = <模板ID>
AND f.field_type = 1
AND fff.state = 1
AND f.state = 1;

查询某个模板关联的输出字段:

SELECT f.*
FROM f_polic_file_field fff
INNER JOIN f_polic_field f ON fff.filed_id = f.id
WHERE fff.tenant_id = 1
AND fff.file_id = <模板ID>
AND f.field_type = 2
AND fff.state = 1
AND f.state = 1;

六、验证结果

6.1 关联完整性

输入字段关联: 100% 完成

  • 所有122个模板都关联了2个输入字段
  • 关联关系总数: 260条

输出字段关联: 76% 完成

  • 93个模板关联了输出字段
  • 29个模板没有输出字段这些模板没有占位符属于正常情况
  • 关联关系总数: 325条

6.2 总体统计

  • 总模板数: 122个
  • 总关联关系数: 585条
    • 输入字段关联: 260条
    • 输出字段关联: 325条

七、注意事项

  1. tenant_id: 数据库中的实际tenant_id是 1,不是配置中的 615873064429507639

  2. 无占位符的模板: 29个模板没有输出字段关联这些模板可能是

    • 目录节点(但已过滤,只处理文件节点)
    • 没有占位符的模板文件
    • 占位符格式不正确的模板
  3. 字段自动创建: 如果模板中的占位符对应的字段不存在,系统会自动创建该字段(field_type=2,输出字段)

  4. 关联关系维护:

    • 添加新模板时,会自动关联输入字段
    • 输出字段根据模板中的占位符自动关联
    • 如果模板占位符发生变化,需要重新运行更新脚本

八、更新脚本

本次更新使用的脚本:

  1. update_all_template_field_relations.py:

    • 扫描所有模板的占位符
    • 为所有模板关联输入字段
    • 根据占位符关联输出字段
    • 自动创建缺失的字段
  2. verify_template_field_relations.py:

    • 验证关联关系的完整性
    • 检查是否有遗漏的关联

九、后续维护

  1. 添加新模板:

    • 将模板文件放到对应目录
    • 运行 update_all_template_field_relations.py 更新关联关系
  2. 修改模板占位符:

    • 更新模板文件中的占位符
    • 重新运行更新脚本同步关联关系
  3. 验证关联关系:

    • 定期运行 verify_template_field_relations.py 检查关联关系

更新人员: 自动化脚本
更新日期: 2025-12-16
更新状态: 完成