-- 涉案财物:新增「财物调用」菜单及权限点(PostgreSQL / Kingbase) -- 展示权限范围内状态为「调用审核中」「调用中」的财物记录 -- 执行前需已存在「涉案财物」一级目录 -- 1. 二级菜单「财物调用」 INSERT INTO t_menu (menu_name, menu_type, parent_id, sort, path, component, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, icon, deleted_flag, create_user_id, create_time, update_time) SELECT '财物调用', 2, p.menu_id, 2, '/property/transfer', '/business/property/property-transfer-list.vue', false, false, true, false, 1, 'SwapOutlined', false, 1, NOW(), NOW() FROM t_menu p WHERE p.menu_name = '涉案财物' AND p.menu_type = 1 AND p.deleted_flag = 0 AND NOT EXISTS ( SELECT 1 FROM t_menu x WHERE x.path = '/property/transfer' AND x.deleted_flag = 0 ); -- 2. 财物调用功能点 INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '查询', 3, m.menu_id, false, false, true, false, 1, 'property:transfer:query', 'property:transfer:query', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物调用' AND m.path = '/property/transfer' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:transfer:query' AND x.deleted_flag = 0); INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '查看详情', 3, m.menu_id, false, false, true, false, 1, 'property:transfer:detail', 'property:transfer:detail', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物调用' AND m.path = '/property/transfer' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:transfer:detail' AND x.deleted_flag = 0); INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '调用审核', 3, m.menu_id, false, false, true, false, 1, 'property:transfer:audit', 'property:transfer:audit', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物调用' AND m.path = '/property/transfer' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:transfer:audit' AND x.deleted_flag = 0); -- 3. 财物管理功能点(若尚未创建,供调用/出库等按钮使用) INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '查询', 3, m.menu_id, false, false, true, false, 1, 'property:management:query', 'property:management:query', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物管理' AND m.path = '/property/management' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:management:query' AND x.deleted_flag = 0); INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '新增录入', 3, m.menu_id, false, false, true, false, 1, 'property:management:add', 'property:management:add', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物管理' AND m.path = '/property/management' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:management:add' AND x.deleted_flag = 0); INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '查看详情', 3, m.menu_id, false, false, true, false, 1, 'property:management:detail', 'property:management:detail', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物管理' AND m.path = '/property/management' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:management:detail' AND x.deleted_flag = 0); INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '出库', 3, m.menu_id, false, false, true, false, 1, 'property:management:checkout', 'property:management:checkout', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物管理' AND m.path = '/property/management' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:management:checkout' AND x.deleted_flag = 0); INSERT INTO t_menu (menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, perms_type, api_perms, web_perms, context_menu_id, deleted_flag, create_user_id, create_time, update_time) SELECT '调用', 3, m.menu_id, false, false, true, false, 1, 'property:management:invoke', 'property:management:invoke', m.menu_id, false, 1, NOW(), NOW() FROM t_menu m WHERE m.menu_name = '财物管理' AND m.path = '/property/management' AND m.deleted_flag = 0 AND NOT EXISTS (SELECT 1 FROM t_menu x WHERE x.web_perms = 'property:management:invoke' AND x.deleted_flag = 0); -- 3.1 历史「调拨」功能点更名为「调用」(若已执行过旧版脚本) UPDATE t_menu SET menu_name = '调用', api_perms = 'property:management:invoke', web_perms = 'property:management:invoke', update_time = NOW() WHERE web_perms = 'property:management:transfer' AND menu_type = 3 AND deleted_flag = 0; -- 4. 经侦管理员绑定涉案财物全部菜单及功能点 INSERT INTO t_role_menu (role_id, menu_id) SELECT r.role_id, m.menu_id FROM t_role r JOIN t_menu m ON m.deleted_flag = 0 WHERE r.role_code = 'JZ_ADMIN' AND ( m.menu_name IN ('涉案财物', '财物管理', '财物调用') OR m.parent_id IN ( SELECT menu_id FROM t_menu WHERE path IN ('/property/management', '/property/transfer') AND deleted_flag = 0 ) ) AND NOT EXISTS ( SELECT 1 FROM t_role_menu rm WHERE rm.role_id = r.role_id AND rm.menu_id = m.menu_id );