-- 提单管理:空运费用、报关费用、清关费用 SET NAMES utf8mb4; SET @sql = ( SELECT IF( COUNT(*) = 0, 'ALTER TABLE srv_bill_air_fee ADD COLUMN fee_scene varchar(16) NULL DEFAULT NULL COMMENT ''费用入口:AIR空运 DECLARE报关 CLEAR清关。空运费用阶段为2(b段),报关和清关为3(c段)'' AFTER fee_level', 'SELECT 1' ) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'srv_bill_air_fee' AND COLUMN_NAME = 'fee_scene' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; 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 2650, N'提单管理', 0, 4, 'ladingFee', NULL, '', '', 1, 0, 'M', '0', '0', '', 'money', 'admin', sysdate(), N'提单列表、空运、报关、清关费用' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2650 OR perms = 'price:airFee:menu'); UPDATE sys_menu SET parent_id = 0, order_num = 4 WHERE menu_id = 2650; 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 2651, N'空运费用', 2650, 2, 'air', 'price/billing/airFee/air/index', '', 'AirLadingFee', 1, 0, 'C', '0', '0', 'price:airFee:air', 'edit', 'admin', sysdate(), N'空运费用,费用阶段写入b段' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2651 OR perms = 'price:airFee:air'); 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 2652, N'报关费用', 2650, 3, 'declare', 'price/billing/airFee/declare/index', '', 'DeclareLadingFee', 1, 0, 'C', '0', '0', 'price:airFee:declare', 'edit', 'admin', sysdate(), N'报关费用,费用阶段写入c段' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2652 OR perms = 'price:airFee:declare'); 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 2653, N'清关费用', 2650, 4, 'clear', 'price/billing/airFee/clear/index', '', 'ClearLadingFee', 1, 0, 'C', '0', '0', 'price:airFee:clear', 'edit', 'admin', sysdate(), N'清关费用,费用阶段写入c段' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2653 OR perms = 'price:airFee:clear'); UPDATE sys_menu SET parent_id = 2650, order_num = 1 WHERE menu_id = 2520; UPDATE sys_menu SET order_num = 2 WHERE menu_id = 2651; UPDATE sys_menu SET order_num = 3 WHERE menu_id = 2652; UPDATE sys_menu SET order_num = 4 WHERE menu_id = 2653; UPDATE sys_menu SET remark = N'提单列表、空运、报关、清关费用' WHERE menu_id = 2650; INSERT INTO sys_role_menu (role_id, menu_id) SELECT 1, m.menu_id FROM sys_menu m WHERE m.menu_id IN (2650, 2651, 2652, 2653) AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id); INSERT INTO sys_role_menu (role_id, menu_id) SELECT DISTINCT rm.role_id, m.menu_id FROM sys_role_menu rm JOIN sys_menu m ON m.menu_id IN (2650, 2651, 2652, 2653) WHERE rm.menu_id IN (2300, 2520) AND NOT EXISTS ( SELECT 1 FROM sys_role_menu x WHERE x.role_id = rm.role_id AND x.menu_id = m.menu_id );