-- ============================================================ -- 诚发五金:恢复工作流(协同办公 / 审批中心 / 流程管理)菜单 -- 背景:BPM 流程定义、表单、分类、待办数据均在库中,但菜单树被裁剪, -- 只剩若干孤立的按钮权限(如 bpm:form:query、bpm:task:query), -- 导致「提交审批」后审批人没有待办入口,业务单据无法流转。 -- 目标库:诚发五金客户库(本地为 CFWJ),请按实际库名执行或先 USE。 -- 幂等:REPLACE 按固定菜单 ID 覆盖;角色授权按 code + NOT EXISTS 去重。 -- 注意:本脚本不含 tenant_id(单租户)。 -- ============================================================ -- 1. 菜单与按钮权限(ID 沿用标准 BPM 菜单 ID,覆盖同 ID 的历史残留按钮) REPLACE INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`) VALUES (1185,'协同办公','',1,50,0,'/bpm','fa:medium',NULL,NULL,0,b'1',b'0',b'1'), (1186,'流程管理','',1,1,1185,'manager','fa:dedent',NULL,NULL,0,b'1',b'0',b'1'), (1200,'审批中心','',2,2,1185,'task','fa:tasks',NULL,NULL,0,b'1',b'0',b'1'), (1193,'流程模型','',2,1,1186,'model','fa-solid:project-diagram','bpm/model/index','BpmModel',0,b'1',b'0',b'1'), (1187,'流程表单','',2,2,1186,'form','fa:hdd-o','bpm/form/index','BpmForm',0,b'1',b'0',b'1'), (2714,'流程分类','',2,3,1186,'category','fa:object-ungroup','bpm/category/index','BpmCategory',0,b'1',b'0',b'1'), (1209,'用户分组','',2,4,1186,'user-group','fa:user-secret','bpm/group/index','BpmUserGroup',0,b'1',b'0',b'1'), (1188,'表单查询','bpm:form:query',3,1,1187,'','',NULL,NULL,0,b'1',b'0',b'1'), (1189,'表单创建','bpm:form:create',3,2,1187,'','',NULL,NULL,0,b'1',b'0',b'1'), (1190,'表单更新','bpm:form:update',3,3,1187,'','',NULL,NULL,0,b'1',b'0',b'1'), (1191,'表单删除','bpm:form:delete',3,4,1187,'','',NULL,NULL,0,b'1',b'0',b'1'), (1192,'表单导出','bpm:form:export',3,5,1187,'','',NULL,NULL,0,b'1',b'0',b'1'), (1194,'模型查询','bpm:model:query',3,1,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (1195,'模型创建','bpm:model:create',3,2,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (1197,'模型更新','bpm:model:update',3,4,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (1198,'模型删除','bpm:model:delete',3,5,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (1199,'模型发布','bpm:model:deploy',3,6,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (2913,'流程清理','bpm:model:clean',3,7,1193,'','',NULL,'',0,b'1',b'0',b'1'), (1215,'流程定义查询','bpm:process-definition:query',3,10,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (1216,'流程任务分配规则查询','bpm:task-assign-rule:query',3,20,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (1217,'流程任务分配规则创建','bpm:task-assign-rule:create',3,21,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (1218,'流程任务分配规则更新','bpm:task-assign-rule:update',3,22,1193,'','',NULL,NULL,0,b'1',b'0',b'1'), (2720,'发起流程','',2,0,1200,'create','fa-solid:grin-stars','bpm/processInstance/create/index','BpmProcessInstanceCreate',0,b'1',b'0',b'1'), (1201,'我的流程','',2,1,1200,'my','fa-solid:book','bpm/processInstance/index','BpmProcessInstanceMy',0,b'1',b'0',b'1'), (1207,'待办任务','',2,10,1200,'todo','fa:slack','bpm/task/todo/index','BpmTodoTask',0,b'1',b'0',b'1'), (1208,'已办任务','',2,20,1200,'done','fa:delicious','bpm/task/done/index','BpmDoneTask',0,b'1',b'0',b'1'), (2713,'抄送我的','bpm:process-instance-cc:query',2,30,1200,'copy','ep:copy-document','bpm/task/copy/index','BpmProcessInstanceCopy',0,b'1',b'0',b'1'), (1202,'流程实例的查询','bpm:process-instance:query',3,1,1201,'','',NULL,NULL,0,b'1',b'0',b'1'), (1219,'流程实例的创建','bpm:process-instance:create',3,2,1201,'','',NULL,NULL,0,b'1',b'0',b'1'), (1220,'流程实例的取消','bpm:process-instance:cancel',3,3,1201,'','',NULL,NULL,0,b'1',b'0',b'1'), (1221,'流程任务的查询','bpm:task:query',3,1,1207,'','',NULL,NULL,0,b'1',b'0',b'1'), (1222,'流程任务的更新','bpm:task:update',3,2,1207,'','',NULL,NULL,0,b'1',b'0',b'1'), (1210,'用户组查询','bpm:user-group:query',3,1,1209,'','',NULL,NULL,0,b'1',b'0',b'1'), (1211,'用户组创建','bpm:user-group:create',3,2,1209,'','',NULL,NULL,0,b'1',b'0',b'1'), (1212,'用户组更新','bpm:user-group:update',3,3,1209,'','',NULL,NULL,0,b'1',b'0',b'1'), (1213,'用户组删除','bpm:user-group:delete',3,4,1209,'','',NULL,NULL,0,b'1',b'0',b'1'), (2715,'分类查询','bpm:category:query',3,1,2714,'','',NULL,'',0,b'1',b'0',b'1'), (2716,'分类创建','bpm:category:create',3,2,2714,'','',NULL,'',0,b'1',b'0',b'1'), (2717,'分类更新','bpm:category:update',3,3,2714,'','',NULL,'',0,b'1',b'0',b'1'), (2718,'分类删除','bpm:category:delete',3,4,2714,'','',NULL,'',0,b'1',b'0',b'1') ; -- 2. 审批中心授权:此前已持有 BPM 查询按钮的角色,恢复后即可看到待办/已办/我的流程 -- (流程管理仅超级管理员可见,不在此授权) INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `updater`, `deleted`) SELECT r.`id`, m.`menu_id`, 'admin', 'admin', b'0' FROM `system_role` r CROSS JOIN ( SELECT 1185 AS `menu_id` UNION ALL SELECT 1200 UNION ALL SELECT 2720 UNION ALL SELECT 1201 UNION ALL SELECT 1202 UNION ALL SELECT 1219 UNION ALL SELECT 1220 UNION ALL SELECT 1207 UNION ALL SELECT 1221 UNION ALL SELECT 1222 UNION ALL SELECT 1208 UNION ALL SELECT 2713 ) m WHERE r.`deleted` = b'0' AND r.`code` IN ('common', 'tenant_admin', 'test-dp', 'coffee', '员工', '总经理', 'JL') AND NOT EXISTS ( SELECT 1 FROM `system_role_menu` rm WHERE rm.`role_id` = r.`id` AND rm.`menu_id` = m.`menu_id` AND rm.`deleted` = b'0' ); -- 3. 验证:应返回 40 条菜单,且 1185 / 1200 / 1207 存在父子关系 -- SELECT id, name, type, parent_id, path, component FROM system_menu -- WHERE id IN (1185, 1186, 1187, 1193, 1200, 1201, 1207, 1208, 2713);