Files
zkxw/docs/sql/migrate-qc-material-amount-auth.sql
T
2026-07-14 13:55:11 +08:00

83 lines
3.9 KiB
SQL

-- 质检物料金额查看授权:专用角色 + viewAmount 按钮菜单 + 授权管理页
-- 2026-07-13
-- 1. 按钮权限(F,visible=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`)
VALUES
('95100000000000000000000000000002', '查看质检物料金额', '70000000000000000000000000000009', 'F', '', NULL, 'biz:qcMaterial:viewAmount', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('95100000000000000000000000000003', '查看我的物料领用金额', '92000000000000000000000000000001', 'F', '', NULL, 'biz:myQcMaterialUsage:viewAmount', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`menu_type` = VALUES(`menu_type`),
`perms` = VALUES(`perms`),
`visible` = VALUES(`visible`),
`status` = VALUES(`status`),
`del_flag` = 0;
-- 2. 授权管理页(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
('95100000000000000000000000000001', '质检物料金额查看授权', 'QCB00000000000000000000000000001', 'C', 'qc-material-amount-auth', '/quality-inspection/qc-material-amount-auth/index', 'biz:qcMaterialAmountAuth:list', 1, '1', '1', 'zkxw', 10, NULL, NULL, '', NOW(), NULL, NOW(), 0)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`menu_type` = VALUES(`menu_type`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`perms` = VALUES(`perms`),
`visible` = VALUES(`visible`),
`status` = VALUES(`status`),
`order_num` = VALUES(`order_num`),
`del_flag` = 0;
-- 3. 专用角色
INSERT INTO `sys_role`
(`id`, `role_name`, `data_scope`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
VALUES
('ROLE000000000000000000000000000011', '质检物料金额查看', '1', '1', 'zkxw', 0, '可查看/编辑质检物料库与我的物料领用记录中的单价与金额', NULL, '', NOW(), NULL, NOW(), 0)
ON DUPLICATE KEY UPDATE
`role_name` = VALUES(`role_name`),
`status` = VALUES(`status`),
`remark` = VALUES(`remark`),
`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`)
VALUES
('RM000000000000000000000000000011', 'ROLE000000000000000000000000000011', '95100000000000000000000000000002', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('RM000000000000000000000000000012', 'ROLE000000000000000000000000000011', '95100000000000000000000000000003', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0)
ON DUPLICATE KEY UPDATE
`del_flag` = 0;
-- 5. 已拥有「质检物料库」菜单的角色,自动获得授权管理页
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('RMAA', SUBSTRING(MD5(CONCAT(rm.role_id, '95100000000000000000000000000001')), 1, 28)),
rm.role_id,
'95100000000000000000000000000001',
'zkxw',
0,
NULL,
NULL,
'',
NOW(),
NULL,
NOW(),
0
FROM `sys_role_menu` rm
WHERE rm.menu_id = '70000000000000000000000000000009'
AND rm.del_flag = 0
AND rm.tenant_no = 'zkxw'
AND NOT EXISTS (
SELECT 1
FROM `sys_role_menu` x
WHERE x.role_id = rm.role_id
AND x.menu_id = '95100000000000000000000000000001'
AND x.del_flag = 0
);