| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- -- backend/scripts/migrate_20260820_pl_plan_contract_complete_menu.sql
- -- 运输计划合同完善:挂在 PL_GROUP_PLAN 下,order_num=3;按钮权限保存合同关联
- -- 可重复执行(幂等)
- -- 1) 菜单 C:运输计划合同完善
- 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 (
- 'PL_PLAN_CONTRACT',
- '运输计划合同完善',
- 'PL_GROUP_PLAN',
- 'C',
- 'plan-contract',
- 'pl/plan-contract/index',
- 'pl:plan-contract:list',
- 1, '1', '1', 'shanxia2.0', 3,
- '缺合同运输计划补齐',
- '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`),
- `order_num`=VALUES(`order_num`),
- `visible`=VALUES(`visible`),
- `status`=VALUES(`status`);
- -- 2) 菜单 F:保存合同关联
- 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 (
- 'PL_PLAN_CONTRACT_UPD',
- '保存合同关联',
- 'PL_PLAN_CONTRACT',
- 'F',
- '',
- NULL,
- 'pl:plan-contract:update',
- 1, '1', '1', 'shanxia2.0', 1,
- NULL,
- 'system', '', NOW(), NULL, NOW(), 0
- )
- ON DUPLICATE KEY UPDATE
- `menu_name`=VALUES(`menu_name`),
- `perms`=VALUES(`perms`),
- `parent_id`=VALUES(`parent_id`);
- -- 3) 角色授权:复制已有 PL_PLAN 的角色集合
- 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
- -- 勿用 UUID():同句多行 INSERT 易撞主键;按 role+menu 生成确定性 id
- MD5(CONCAT(`role_id`, '#PL_PLAN_CONTRACT')),
- `role_id`,
- 'PL_PLAN_CONTRACT',
- `tenant_no`,
- 0,
- NULL,
- `create_by`,
- `create_dept_id`,
- NOW(),
- `update_by`,
- NOW(),
- 0
- FROM `sys_role_menu`
- WHERE `menu_id` = 'PL_PLAN'
- AND `del_flag` = 0
- AND NOT EXISTS (
- SELECT 1
- FROM `sys_role_menu` x
- WHERE x.`role_id` = `sys_role_menu`.`role_id`
- AND x.`menu_id` = 'PL_PLAN_CONTRACT'
- AND x.`del_flag` = 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
- MD5(CONCAT(`role_id`, '#PL_PLAN_CONTRACT_UPD')),
- `role_id`,
- 'PL_PLAN_CONTRACT_UPD',
- `tenant_no`,
- 0,
- NULL,
- `create_by`,
- `create_dept_id`,
- NOW(),
- `update_by`,
- NOW(),
- 0
- FROM `sys_role_menu`
- WHERE `menu_id` = 'PL_PLAN'
- AND `del_flag` = 0
- AND NOT EXISTS (
- SELECT 1
- FROM `sys_role_menu` x
- WHERE x.`role_id` = `sys_role_menu`.`role_id`
- AND x.`menu_id` = 'PL_PLAN_CONTRACT_UPD'
- AND x.`del_flag` = 0
- );
|