Files
leaudit-platform-backend/scripts/创建sql/seed_home_entry_modules.sql
T

162 lines
4.5 KiB
PL/PgSQL

-- ============================================================================
-- 首页入口模块初始化脚本(按老系统真实语义迁移)
-- 用途:
-- 1. 初始化首页入口模块
-- 2. 绑定现有 leaudit_document_types.entry_module_id
-- 3. 对齐老系统“入口模块表只存业务入口 + 图片路径,跳转由前端硬编码”的实际情况
--
-- 当前新系统落地策略:
-- - leaudit_entry_modules.path = 前端跳转路由
-- - leaudit_entry_modules.icon_path = 入口图标路径
--
-- 老系统真实数据来源(docauditai):
-- 1. 合同管理
-- - 图片:documents/mz/static/img/entry_module_1.png
-- - 文档类型:HT
-- - 实际跳转:/contract-template/search
-- 2. 案卷智能评查
-- - 图片:documents/mz/static/img/entry_module_2.png
-- - 文档类型:XZXK, XZCF
-- - 实际跳转:/home
-- 3. 内部公文
-- - 图片:documents/mz/static/img/entry_module_15.png
-- - 文档类型:NBGW
-- - 实际跳转:/home
--
-- 另外补齐老前端硬编码入口:
-- 4. 智慧法务助手 -> /chat-with-llm/chat
-- 5. 交叉评查 -> /cross-checking
-- ============================================================================
BEGIN;
INSERT INTO leaudit_entry_modules (
name,
description,
path,
icon_path,
areas,
sort_order,
is_enabled,
created_at,
updated_at,
deleted_at
)
VALUES
(
'合同管理',
'合同管理入口模块',
'/contract-template/search',
'documents/mz/static/img/entry_module_1.png',
'[
{"area":"梅州","enabled":true,"sort_order":1},
{"area":"云浮","enabled":true,"sort_order":2},
{"area":"揭阳","enabled":true,"sort_order":3},
{"area":"潮州","enabled":true,"sort_order":4},
{"area":"省局","enabled":true,"sort_order":5}
]'::jsonb,
10,
TRUE,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
NULL
),
(
'案卷智能评查',
'案卷类型的入口模块',
'/home',
'documents/mz/static/img/entry_module_2.png',
'[
{"area":"梅州","enabled":true,"sort_order":1},
{"area":"揭阳","enabled":true,"sort_order":2},
{"area":"云浮","enabled":true,"sort_order":3},
{"area":"潮州","enabled":true,"sort_order":4},
{"area":"省局","enabled":true,"sort_order":5}
]'::jsonb,
20,
TRUE,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
NULL
),
(
'内部公文',
'内部公文',
'/home',
'documents/mz/static/img/entry_module_15.png',
'[
{"area":"潮州","enabled":true,"sort_order":1},
{"area":"省局","enabled":true,"sort_order":2},
{"area":"揭阳","enabled":true,"sort_order":3},
{"area":"梅州","enabled":true,"sort_order":4},
{"area":"云浮","enabled":true,"sort_order":5}
]'::jsonb,
30,
TRUE,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
NULL
),
(
'智慧法务助手',
'大模型法务助手入口',
'/chat-with-llm/chat',
'/images/icon_assistant.png',
NULL,
40,
TRUE,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
NULL
),
(
'交叉评查',
'交叉评查任务入口',
'/cross-checking',
'/images/icon_cross@2x.png',
NULL,
50,
TRUE,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
NULL
)
ON CONFLICT (name) DO UPDATE
SET
description = EXCLUDED.description,
path = EXCLUDED.path,
icon_path = EXCLUDED.icon_path,
areas = EXCLUDED.areas,
sort_order = EXCLUDED.sort_order,
is_enabled = EXCLUDED.is_enabled,
updated_at = CURRENT_TIMESTAMP,
deleted_at = NULL;
WITH module_map AS (
SELECT id, name
FROM leaudit_entry_modules
WHERE deleted_at IS NULL
)
UPDATE leaudit_document_types dt
SET
entry_module_id = mm.id,
updated_at = CURRENT_TIMESTAMP
FROM module_map mm
WHERE dt.deleted_at IS NULL
AND (
(
mm.name = '合同管理'
AND dt.code LIKE 'contract.%'
)
OR (
mm.name = '案卷智能评查'
AND dt.code LIKE '行政卷宗.%'
)
OR (
mm.name = '内部公文'
AND dt.code IN ('NBGW', 'internal.document')
)
);
COMMIT;