-- billing list: recalc product/redline amount (async; no AR restriction) SET NAMES utf8mb4; INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT 2332, N'重计费', m.menu_id, 22, '', NULL, 1, 0, 'F', '0', '0', 'price:billing:recalc', '#', 'admin', sysdate(), N'计费列表异步重算产品价/红线价(已出账也可)' FROM ( SELECT menu_id FROM sys_menu WHERE perms = 'price:billing:bill' AND menu_type = 'C' UNION ALL SELECT menu_id FROM sys_menu WHERE component = 'price/billing/bill' AND menu_type = 'C' ) m WHERE NOT EXISTS (SELECT 1 FROM sys_menu x WHERE x.menu_id = 2332 OR x.perms = 'price:billing:recalc') LIMIT 1; INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, 2332 FROM DUAL WHERE EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2332) AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = 2332); -- cleanup old split permissions if previously inserted DELETE FROM sys_role_menu WHERE menu_id = 2333; DELETE FROM sys_menu WHERE menu_id = 2333 OR perms = 'price:billing:recalcRedline'; UPDATE sys_menu SET menu_name = N'重计费', perms = 'price:billing:recalc', remark = N'计费列表异步重算产品价/红线价(已出账也可)' WHERE menu_id = 2332 OR perms IN ('price:billing:recalcProduct', 'price:billing:recalc');