恢复工作流菜单:协同办公/审批中心/流程管理
BPM 流程定义与表单数据齐全,但客户菜单树被裁剪后只剩孤立按钮权限,
审批人没有待办入口。按标准 BPM 菜单 ID 恢复菜单树,并给已有 BPM 查询
按钮的角色补授审批中心(待办/已办/抄送/我的流程)。脚本见
docs/sql/cfwj_bpm_menu_restore.sql。
Co-Authored-By: Claude Code <noreply@anthropic.com>
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | -- ============================================================ |
| | | -- è¯åäºéï¼æ¢å¤å·¥ä½æµï¼åååå
¬ / 审æ¹ä¸å¿ / æµç¨ç®¡çï¼èå |
| | | -- èæ¯ï¼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); |