| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- -- 系统管理:新增二级目录「系统信息」「临时存放」,并迁移原子菜单 parent_id
- -- 幂等可重复执行;与 web-admin/src/router/modules/sqxp.ts 对齐
- -- 目录 id:SYSM...010 / SYSM...011
- -- 1) 插入二级目录
- 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
- 'SYSM000000000000000000000000000010', '系统信息', 'SYSM000000000000000000000000000001',
- 'M', 'info', NULL, NULL, 1, '1', '1', 'shanxia2.0', 1, '系统管理-系统信息分组',
- 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL
- WHERE NOT EXISTS (
- SELECT 1 FROM `sys_menu` WHERE `id` = 'SYSM000000000000000000000000000010' AND `del_flag` = 0
- );
- 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
- 'SYSM000000000000000000000000000011', '临时存放', 'SYSM000000000000000000000000000001',
- 'M', 'temp', NULL, NULL, 1, '1', '1', 'shanxia2.0', 2, '系统管理-临时存放分组',
- 'system', '', NOW(), NULL, NOW(), 0
- FROM DUAL
- WHERE NOT EXISTS (
- SELECT 1 FROM `sys_menu` WHERE `id` = 'SYSM000000000000000000000000000011' AND `del_flag` = 0
- );
- -- 2) 「系统信息」下菜单
- UPDATE `sys_menu`
- SET `parent_id` = 'SYSM000000000000000000000000000010',
- `update_time` = NOW()
- WHERE `del_flag` = 0
- AND `id` IN (
- '101', -- 租户管理
- '102', -- 字典管理
- '106', -- 菜单管理
- '103', -- 组织管理
- '105', -- 角色管理
- '104', -- 用户管理
- '108', -- 职位管理
- 'SYS_OPERLOG' -- 操作日志
- );
- -- 3) 「临时存放」下菜单(含隐藏附属页)
- UPDATE `sys_menu`
- SET `parent_id` = 'SYSM000000000000000000000000000011',
- `update_time` = NOW()
- WHERE `del_flag` = 0
- AND `id` IN (
- 'SYS_APPROVER_SETTING', -- 报价、合同审批人设置
- 'CRM3000000000000000000000000040', -- 主体危化品能力
- 'CRM1000000000000000000000000010', -- 线索管理
- 'CRM1000000000000000000000000011', -- 线索详情
- 'CRM1000000000000000000000000012', -- 线索统计(若存在)
- 'CRM2000000000000000000000000010', -- 商机管理
- 'CRM2000000000000000000000000011', -- 商机详情
- 'CRM2000000000000000000000000012', -- 商机看板
- 'CRM2000000000000000000000000013', -- 销售漏斗
- 'CRM2000000000000000000000000014', -- 商机统计
- 'CRM1000000000000000000000000003', -- 公海池
- 'CRM1000000000000000000000000004' -- 公海池规则
- );
- -- 排序:系统信息内
- UPDATE `sys_menu` SET `order_num` = 1, `update_time` = NOW() WHERE `id` = '101' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 2, `update_time` = NOW() WHERE `id` = '102' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 3, `update_time` = NOW() WHERE `id` = '106' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 4, `update_time` = NOW() WHERE `id` = '103' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 5, `update_time` = NOW() WHERE `id` = '105' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 6, `update_time` = NOW() WHERE `id` = '104' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 7, `update_time` = NOW() WHERE `id` = '108' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 8, `update_time` = NOW() WHERE `id` = 'SYS_OPERLOG' AND `del_flag` = 0;
- -- 排序:临时存放内(可见菜单)
- UPDATE `sys_menu` SET `order_num` = 1, `update_time` = NOW() WHERE `id` = 'SYS_APPROVER_SETTING' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 2, `update_time` = NOW() WHERE `id` = 'CRM3000000000000000000000000040' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 3, `update_time` = NOW() WHERE `id` = 'CRM1000000000000000000000000010' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 4, `update_time` = NOW() WHERE `id` = 'CRM2000000000000000000000000010' AND `del_flag` = 0;
- UPDATE `sys_menu` SET `order_num` = 5, `update_time` = NOW() WHERE `id` = 'CRM1000000000000000000000000003' AND `del_flag` = 0;
- -- 4) 角色菜单:曾拥有子菜单的角色,补挂二级目录(避免孤儿叶子)
- 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
- CONCAT('RM_SYS_INFO_', UPPER(MD5(CONCAT(rm.role_id, ':SYSM000000000000000000000000000010')))),
- rm.role_id,
- 'SYSM000000000000000000000000000010',
- COALESCE(NULLIF(rm.tenant_no, ''), 'shanxia2.0'),
- 0,
- 'auto: system info group',
- 'system',
- '',
- NOW(),
- NULL,
- NOW(),
- 0
- FROM `sys_role_menu` rm
- WHERE rm.del_flag = 0
- AND rm.menu_id IN (
- '101', '102', '106', '103', '105', '104', '108', 'SYS_OPERLOG'
- )
- AND NOT EXISTS (
- SELECT 1
- FROM `sys_role_menu` x
- WHERE x.role_id = rm.role_id
- AND x.menu_id = 'SYSM000000000000000000000000000010'
- AND x.del_flag = 0
- )
- GROUP BY rm.role_id, rm.tenant_no;
- 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
- CONCAT('RM_SYS_TEMP_', UPPER(MD5(CONCAT(rm.role_id, ':SYSM000000000000000000000000000011')))),
- rm.role_id,
- 'SYSM000000000000000000000000000011',
- COALESCE(NULLIF(rm.tenant_no, ''), 'shanxia2.0'),
- 0,
- 'auto: system temp group',
- 'system',
- '',
- NOW(),
- NULL,
- NOW(),
- 0
- FROM `sys_role_menu` rm
- WHERE rm.del_flag = 0
- AND rm.menu_id IN (
- 'SYS_APPROVER_SETTING',
- 'CRM3000000000000000000000000040',
- 'CRM1000000000000000000000000010',
- 'CRM1000000000000000000000000011',
- 'CRM1000000000000000000000000012',
- 'CRM2000000000000000000000000010',
- 'CRM2000000000000000000000000011',
- 'CRM2000000000000000000000000012',
- 'CRM2000000000000000000000000013',
- 'CRM2000000000000000000000000014',
- 'CRM1000000000000000000000000003',
- 'CRM1000000000000000000000000004'
- )
- AND NOT EXISTS (
- SELECT 1
- FROM `sys_role_menu` x
- WHERE x.role_id = rm.role_id
- AND x.menu_id = 'SYSM000000000000000000000000000011'
- AND x.del_flag = 0
- )
- GROUP BY rm.role_id, rm.tenant_no;
|