Files
zkxw/docs/sql/migrations/2026-10-05-unhide-payment-info-menu.sql
T

98 lines
3.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- 缴费信息独立菜单:显示与排序(2026-10-05)
-- =============================================================================
--
-- 【主路径 — 前端固定菜单】
-- 当前 Web 管理端使用 VITE_ACCESS_MODE=frontend,菜单树由以下两处维护,Task 4 已更新:
-- - backend/app/api/menu.py → CellStoragePaymentInfo(id 904b5173519411f1944300163e3bdd96)
-- - web-admin/src/router/modules/sqxp.ts → 预签约订单与样本信息管理之间,已取消 isHide
-- 前端模式环境 **无需执行** 本脚本;保留本文件供 DB 菜单模式或角色授权同步参考。
--
-- 【可选 — DB 菜单模式】
-- sys_menu 列名以 backend/app/models/models.py :: SysMenu 为准(docs/sql/zkxw.sql 无 sys_menu 段)。
-- visible: '1'=显示, '0'=隐藏(与 menu.py meta.isHide 映射一致,见 reorder_web_menus.py)
--
-- 细胞存储目录 parent_id: CEL00000000000000000000000000001
-- 预签约订单 id: 50000000000000000000000000000020
-- 缴费信息 id: 904b5173519411f1944300163e3bdd96 path=payment-info perms=cellStorage:paymentInfo:list
-- 样本信息 id: 50000000000000000000000000000013
-- =============================================================================
-- 1) 若库中已有该菜单(按 id 或 perms 匹配):取消隐藏并调整排序至预签约与样本信息之间
UPDATE sys_menu
SET del_flag = 0,
visible = '1',
status = '1',
order_num = (
SELECT mid_order FROM (
SELECT COALESCE(MAX(m2.order_num), 0) AS mid_order
FROM sys_menu m2
WHERE m2.del_flag = 0
AND (
m2.id = '50000000000000000000000000000020'
OR m2.perms = 'cell-storage:presign-order:list'
OR m2.path = 'presign-order'
)
) t
) + 1,
update_time = NOW()
WHERE del_flag = 0
AND (
id = '904b5173519411f1944300163e3bdd96'
OR perms = 'cellStorage:paymentInfo:list'
OR (path = 'payment-info' AND parent_id = 'CEL00000000000000000000000000001')
);
-- 2) 若不存在则幂等插入(仅 DB 菜单模式需要;前端模式可跳过)
INSERT INTO sys_menu (
id, menu_name, parent_id, menu_type, path, component, perms,
is_frame, visible, status, tenant_no, order_num, remark,
create_by, create_dept_id, create_time, update_by, update_time, del_flag
)
SELECT
'904b5173519411f1944300163e3bdd96',
'缴费信息',
'CEL00000000000000000000000000001',
'C',
'payment-info',
'/cell-storage/payment-info/index',
'cellStorage:paymentInfo:list',
1,
'1',
'1',
'zkxw',
COALESCE((
SELECT MAX(m2.order_num) + 1
FROM sys_menu m2
WHERE m2.del_flag = 0
AND (
m2.id = '50000000000000000000000000000020'
OR m2.perms = 'cell-storage:presign-order:list'
)
), 1),
'细胞存储:缴费信息(流程看板 + 按样本),独立于采集协议单',
NULL,
'',
NOW(),
NULL,
NOW(),
0
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_menu m
WHERE m.del_flag = 0
AND (
m.id = '904b5173519411f1944300163e3bdd96'
OR m.perms = 'cellStorage:paymentInfo:list'
)
);
-- 3) 可选:为已有角色补授权(将 super_admin 角色 id 替换为实际值后取消注释)
-- INSERT INTO sys_role_menu (id, role_id, menu_id, tenant_no, create_time, update_time, del_flag)
-- SELECT UUID(), '<role_id>', '904b5173519411f1944300163e3bdd96', 'zkxw', NOW(), NOW(), 0
-- FROM DUAL
-- WHERE NOT EXISTS (
-- SELECT 1 FROM sys_role_menu rm
-- WHERE rm.menu_id = '904b5173519411f1944300163e3bdd96' AND rm.role_id = '<role_id>' AND rm.del_flag = 0
-- );