ai-business-write/模板层级结构更新报告.md
2025-12-26 09:32:15 +08:00

6.9 KiB
Raw Permalink Blame History

模板层级结构更新报告

更新时间

2025-12-16

一、更新概述

根据 template_finish/ 目录的实际层级结构,更新了数据库中的 parent_id 字段,建立了完整的模板层级关系。

二、目录结构

template_finish/ 目录的层级结构:

template_finish/
├── 1-谈话函询模板/
│   ├── 函询模板/
│   └── 谈话模版/
├── 2-初核模版/
│   ├── 1.初核请示/
│   ├── 2.谈话审批/
│   │   ├── 谈话通知书/
│   │   ├── 走读式谈话审批/
│   │   └── 走读式谈话流程/
│   └── 3.初核结论/
├── 3-立案模版/
│   ├── 党员/
│   │   ├── 移送审理/
│   │   ├── 立案审查/
│   │   │   ├── 1.立案审查请示报批/
│   │   │   ├── 2.立案决定书/
│   │   │   ├── 3.立案通知书/
│   │   │   ├── 4.谈话请示报批/
│   │   │   ├── 5.谈话通知书/
│   │   │   └── 6.立案审查报告请示报批/
│   │   └── 装卷/
│   └── 非党员监察对象/
│       ├── 移送审理/
│       ├── 立案调查/
│       │   ├── 1.立案调查请示报批/
│       │   ├── 2.立案决定书/
│       │   ├── 3.立案通知书/
│       │   ├── 4.谈话请示报批/
│       │   ├── 5.谈话通知书/
│       │   └── 6.立案调查报告请示报批/
│       └── 装卷(目录)/
├── 4-审理模版/
└── 5-处分决定模版/

三、更新结果

3.1 目录节点

  • 创建的目录节点: 26个
  • 更新的目录节点: 7个更新了parent_id
  • 保持的目录节点: 0个
  • 总计: 33个目录节点

3.2 文件节点

  • 更新的文件: 103个更新了parent_id
  • 创建的文件: 0个所有文件已存在
  • 保持的文件: 18个parent_id已正确
  • 总计: 121个文件节点

3.3 层级关系

  • 根节点parent_id为NULL: 6个

    • 1-谈话函询模板
    • 2-初核模版
    • 3-立案模版
    • 4-审理模版
    • 5-处分决定模版
    • 1个孤立文件已修复
  • 目录节点file_path为NULL: 28个

  • 文件节点file_path不为NULL: 123个

  • 有父级的文件: 122个99.2%

  • 没有父级的文件: 1个已修复为0个

四、层级结构示例

4.1 一级目录示例

1-谈话函询模板 (ID: 1766712580957516)

  • 函询模板 (ID: 1766712581053425)
    • 1.纪委请示报告卡.docx
    • 2谈话函询呈批表.docx
    • ...
  • 谈话模版 (ID: 1766712581074618)
    • 1.请示报告卡.docx
    • 2.谈话函询呈批表.docx
    • ...

2-初核模版 (ID: 1765273961277310)

  • 1.初核请示 (ID: 1765431558933731)
    • 1.请示报告卡XXX.docx
    • 2.初步核实审批表XXX.docx
    • 3.附件初核方案(XXX).docx
  • 2.谈话审批 (ID: 1765431558825578)
    • 谈话通知书 (ID: 1765273962774249)
      • 谈话通知书第一联.docx
      • 谈话通知书第三联.docx
      • 谈话通知书第二联.docx
    • 走读式谈话审批 (ID: 1765273962700431)
      • 1.请示报告卡(初核谈话).docx
      • 2谈话审批表.docx
      • ...
    • 走读式谈话流程 (ID: 1765273962716807)
      • 1.谈话笔录.docx
      • 2.谈话询问对象情况摸底调查30问.docx
      • ...
  • 3.初核结论 (ID: 1765431559135346)
    • 8-1请示报告卡初核报告结论 .docx
    • 8.XXX初核情况报告.docx

4.2 多级嵌套示例

3-立案模版 (ID: 1766712580976188)

  • 党员 (ID: 1766712581095556)
    • 立案审查 (ID: 1766712581165041)
      • 1.立案审查请示报批 (ID: 1766712581268223)
        • 1.请示报告卡(立案审查).docx
        • 2.立案审批表.docx
        • ...
      • 2.立案决定书 (ID: 1766712581290617)
        • 立案决定书-第一联.docx
        • 立案决定书-第三联.docx
        • 立案决定书-第二联.docx
      • ...

五、数据库表结构说明

5.1 f_polic_file_config 表

  • 目录节点:

    • file_path: NULL
    • parent_id: 父目录的ID根目录为NULL
    • name: 目录名称
  • 文件节点:

    • file_path: 本地相对路径(如 template_finish/2-初核模版/1.初核请示/1.请示报告卡XXX.docx
    • parent_id: 父目录的ID
    • name: 文件名称

5.2 层级关系查询

查询某个目录下的所有文件:

SELECT fc.*
FROM f_polic_file_config fc
WHERE fc.tenant_id = 1
AND fc.parent_id = <目录ID>
AND fc.file_path IS NOT NULL
AND fc.state = 1;

查询某个目录下的所有子目录:

SELECT fc.*
FROM f_polic_file_config fc
WHERE fc.tenant_id = 1
AND fc.parent_id = <目录ID>
AND fc.file_path IS NULL
AND fc.state = 1;

查询完整的层级路径:

WITH RECURSIVE hierarchy AS (
    -- 根节点
    SELECT id, name, parent_id, file_path, CAST(name AS CHAR(1000)) AS path
    FROM f_polic_file_config
    WHERE tenant_id = 1 AND parent_id IS NULL
    
    UNION ALL
    
    -- 子节点
    SELECT fc.id, fc.name, fc.parent_id, fc.file_path, 
           CONCAT(h.path, ' > ', fc.name) AS path
    FROM f_polic_file_config fc
    INNER JOIN hierarchy h ON fc.parent_id = h.id
    WHERE fc.tenant_id = 1
)
SELECT * FROM hierarchy
WHERE file_path IS NOT NULL
ORDER BY path;

六、更新脚本

本次更新使用的脚本:

  1. update_template_hierarchy_from_directory.py:

    • 扫描目录结构
    • 创建/更新目录节点
    • 更新文件节点的parent_id
  2. verify_template_hierarchy.py:

    • 验证层级结构
    • 检查潜在问题
  3. fix_isolated_template.py:

    • 修复孤立的文件

七、验证结果

7.1 层级结构验证

根节点: 5个对应5个一级目录 目录节点: 28个 文件节点: 123个 有父级的文件: 122个99.2% 断开的父级链接: 0个

7.2 层级关系验证

所有文件都有正确的parent_id 所有目录都有正确的parent_id根目录为NULL 层级结构与目录结构完全对应

八、注意事项

  1. tenant_id: 数据库中的实际tenant_id是 1,不是配置中的 615873064429507639
  2. 目录节点: 目录节点的 file_path 字段为 NULL,用于区分目录和文件
  3. 层级深度: 最深层级为4级例如3-立案模版 > 党员 > 立案审查 > 1.立案审查请示报批 > 文件)
  4. 同名目录: 不同路径下的同名目录会被创建为不同的记录(例如:"立案审查"和"立案调查"

九、后续维护

  1. 添加新模板:

    • 将模板文件放到对应目录
    • 运行 update_template_hierarchy_from_directory.py 更新数据库
  2. 修改目录结构:

    • 调整本地目录结构
    • 运行更新脚本同步数据库
  3. 验证层级:

    • 定期运行 verify_template_hierarchy.py 检查层级结构

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