-- 订单数据源: under billing center (same parent as 计费试算), above quote SET NAMES utf8mb4; INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT 2325, N'订单数据源', q.parent_id, CASE WHEN q.order_num > 1 THEN q.order_num - 1 ELSE 1 END, 'orderSource', 'monitor/orderSource/index', '', 'OrderSource', 1, 0, 'C', '0', '0', 'monitor:orderSource:list', 'list', 'admin', sysdate(), N'查询上游 Oracle TAB_ORDER,需客户+提货时间筛选;菜单在计费试算上方' FROM ( SELECT parent_id, order_num FROM sys_menu WHERE menu_type = 'C' AND ( component = 'price/billing/quote' OR menu_name = N'计费试算' OR perms = 'price:billing:quote' ) ORDER BY menu_id LIMIT 1 ) q WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2325 OR perms = 'monitor:orderSource:list'); -- fallback: keep under system monitor if quote menu missing INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) SELECT 2325, N'订单数据源', 2, 9, 'orderSource', 'monitor/orderSource/index', '', 'OrderSource', 1, 0, 'C', '0', '0', 'monitor:orderSource:list', 'list', 'admin', sysdate(), N'查询上游 Oracle TAB_ORDER,需客户+提货时间筛选;菜单在计费试算上方' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2325 OR perms = 'monitor:orderSource:list'); 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) SELECT 2326, N'查询', 2325, 1, '', NULL, 1, 0, 'F', '0', '0', 'monitor:orderSource:list', '#', 'admin', sysdate() FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2326); 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 2327, N'同步计费', 2325, 2, '', NULL, 1, 0, 'F', '0', '0', 'monitor:orderSource:sync', '#', 'admin', sysdate(), N'按筛选分页同步上游订单计费' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2327 OR perms = 'monitor:orderSource:sync'); INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, m.menu_id FROM (SELECT 2325 AS menu_id UNION SELECT 2326 UNION SELECT 2327) m WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);