83 lines
2.4 KiB
SQL
83 lines
2.4 KiB
SQL
-- 合并 CRM「报价单/合同审批人设置」为系统管理下「报价、合同审批人设置」
|
|
-- 1) 插入新菜单 SYS_APPROVER_SETTING
|
|
-- 2) 软隐藏旧 CRM 菜单 CRM…0015 / CRM…0026
|
|
-- 3) 曾拥有任一旧菜单的角色,自动挂上新菜单(幂等)
|
|
-- 注意:web-admin 开发环境默认 VITE_ACCESS_MODE=frontend,侧栏还依赖
|
|
-- web-admin/src/router/modules/sqxp.ts 中新路由与旧路由 isHide=true。
|
|
|
|
-- 新菜单:系统管理 → 报价、合同审批人设置
|
|
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`
|
|
) VALUES (
|
|
'SYS_APPROVER_SETTING',
|
|
'报价、合同审批人设置',
|
|
'SYSM000000000000000000000000000001',
|
|
'C',
|
|
'approver-setting',
|
|
'/system/approver-setting/index',
|
|
'system:approverSetting',
|
|
1, '1', '1', 'shanxia2.0', 9,
|
|
'租户级默认报价/合同审批人(合并页)',
|
|
'system', '', NOW(), NULL, NOW(), 0
|
|
)
|
|
ON DUPLICATE KEY UPDATE
|
|
`menu_name` = VALUES(`menu_name`),
|
|
`parent_id` = VALUES(`parent_id`),
|
|
`path` = VALUES(`path`),
|
|
`component` = VALUES(`component`),
|
|
`perms` = VALUES(`perms`),
|
|
`visible` = '1',
|
|
`status` = '1',
|
|
`order_num` = VALUES(`order_num`),
|
|
`remark` = VALUES(`remark`),
|
|
`del_flag` = 0,
|
|
`update_time` = NOW();
|
|
|
|
-- 软隐藏旧 CRM 菜单
|
|
UPDATE `sys_menu`
|
|
SET `visible` = '0',
|
|
`update_time` = NOW()
|
|
WHERE `id` IN (
|
|
'CRM3000000000000000000000000015',
|
|
'CRM3000000000000000000000000026'
|
|
)
|
|
AND `del_flag` = 0
|
|
AND `visible` <> '0';
|
|
|
|
-- 角色菜单迁移:拥有任一旧菜单 → 挂上新菜单
|
|
INSERT INTO `sys_role_menu` (
|
|
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
|
|
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
|
)
|
|
SELECT
|
|
UPPER(REPLACE(UUID(), '-', '')),
|
|
t.`role_id`,
|
|
'SYS_APPROVER_SETTING',
|
|
t.`tenant_no`,
|
|
0,
|
|
'migrated from quote/contract approver setting menus',
|
|
'system',
|
|
'',
|
|
NOW(),
|
|
NULL,
|
|
NOW(),
|
|
0
|
|
FROM (
|
|
SELECT DISTINCT `role_id`, `tenant_no`
|
|
FROM `sys_role_menu`
|
|
WHERE `menu_id` IN (
|
|
'CRM3000000000000000000000000015',
|
|
'CRM3000000000000000000000000026'
|
|
)
|
|
AND `del_flag` = 0
|
|
) t
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM `sys_role_menu` x
|
|
WHERE x.`role_id` = t.`role_id`
|
|
AND x.`menu_id` = 'SYS_APPROVER_SETTING'
|
|
AND x.`del_flag` = 0
|
|
);
|