-- 质检物料金额查看授权:专用角色 + 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 );