为基础资料维护页面增加导入导出

This commit is contained in:
2026-10-09 21:13:43 +08:00
parent a62803ccf0
commit a8af1f542b
20 changed files with 2134 additions and 15 deletions
@@ -0,0 +1,75 @@
-- 基础资料导入导出:MySQL 8 单次菜单增量。
-- 执行前必须停写并完成备份。由 DBA 审核后在明确选定的目标库单次执行。
-- 本脚本仅随代码交付,不在应用启动时执行;本次开发未连接数据库、未运行 SQL。
-- 权限只新增 sys_menu,不写 sys_role_menu;上线后由管理员按现场职责手动授权。
DELIMITER $$
CREATE PROCEDURE migrate_master_excel_20261009()
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
RESIGNAL;
END;
IF DATABASE() IS NULL THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Select the target database before migration';
END IF;
IF SUBSTRING_INDEX(VERSION(), '.', 1) <> '8' THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'MySQL 8 is required';
END IF;
IF EXISTS (
SELECT 1 FROM sys_menu
WHERE menu_id BETWEEN 1120 AND 1133
OR perms IN (
'master:strain:import', 'master:strain:export',
'master:customer:import', 'master:customer:export',
'master:site:import', 'master:site:export',
'master:line:import', 'master:line:export',
'master:warehouse:import', 'master:warehouse:export',
'master:pallet:import', 'master:pallet:export',
'master:tunnel:import', 'master:tunnel:export'
)
) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Master excel menu ids or permissions already exist';
END IF;
IF EXISTS (SELECT 1 FROM sys_role_menu WHERE menu_id BETWEEN 1120 AND 1133) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Orphan role grants for master excel menus must be reviewed first';
END IF;
IF (SELECT COUNT(*) FROM sys_menu
WHERE (menu_id = 502 AND perms = 'master:strain:list' AND menu_type = 'C')
OR (menu_id = 503 AND perms = 'master:customer:list' AND menu_type = 'C')
OR (menu_id = 504 AND perms = 'master:site:list' AND menu_type = 'C')
OR (menu_id = 505 AND perms = 'master:line:list' AND menu_type = 'C')
OR (menu_id = 506 AND perms = 'master:warehouse:list' AND menu_type = 'C')
OR (menu_id = 507 AND perms = 'master:pallet:list' AND menu_type = 'C')
OR (menu_id = 520 AND perms = 'master:tunnel:list' AND menu_type = 'C')) <> 7 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Master parent menus do not match the expected contract';
END IF;
START TRANSACTION;
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, update_by, update_time, remark
) VALUES
(1120, '菌种导入', 502, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'master:strain:import', '#', 'admin', SYSDATE(), '', NULL, ''),
(1121, '菌种导出', 502, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'master:strain:export', '#', 'admin', SYSDATE(), '', NULL, ''),
(1122, '客户导入', 503, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'master:customer:import', '#', 'admin', SYSDATE(), '', NULL, ''),
(1123, '客户导出', 503, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'master:customer:export', '#', 'admin', SYSDATE(), '', NULL, ''),
(1124, '现场导入', 504, 6, '', '', '', '', 1, 0, 'F', '0', '0', 'master:site:import', '#', 'admin', SYSDATE(), '', NULL, ''),
(1125, '现场导出', 504, 7, '', '', '', '', 1, 0, 'F', '0', '0', 'master:site:export', '#', 'admin', SYSDATE(), '', NULL, ''),
(1126, '产线导入', 505, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'master:line:import', '#', 'admin', SYSDATE(), '', NULL, ''),
(1127, '产线导出', 505, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'master:line:export', '#', 'admin', SYSDATE(), '', NULL, ''),
(1128, '仓库导入', 506, 6, '', '', '', '', 1, 0, 'F', '0', '0', 'master:warehouse:import', '#', 'admin', SYSDATE(), '', NULL, ''),
(1129, '仓库导出', 506, 7, '', '', '', '', 1, 0, 'F', '0', '0', 'master:warehouse:export', '#', 'admin', SYSDATE(), '', NULL, ''),
(1130, '托盘导入', 507, 6, '', '', '', '', 1, 0, 'F', '0', '0', 'master:pallet:import', '#', 'admin', SYSDATE(), '', NULL, ''),
(1131, '托盘导出', 507, 7, '', '', '', '', 1, 0, 'F', '0', '0', 'master:pallet:export', '#', 'admin', SYSDATE(), '', NULL, ''),
(1132, '隧道导入', 520, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'master:tunnel:import', '#', 'admin', SYSDATE(), '', NULL, ''),
(1133, '隧道导出', 520, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'master:tunnel:export', '#', 'admin', SYSDATE(), '', NULL, '');
COMMIT;
END$$
DELIMITER ;
CALL migrate_master_excel_20261009();
DROP PROCEDURE migrate_master_excel_20261009;
@@ -347,6 +347,20 @@ insert into sys_menu values('1091', '托盘打印', '507', '5', '', '', '', '',
insert into sys_menu values('1116', '隧道查询', '520', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'master:tunnel:query', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1117', '隧道新增', '520', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'master:tunnel:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1118', '隧道修改', '520', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'master:tunnel:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1120', '菌种导入', '502', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'master:strain:import', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1121', '菌种导出', '502', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'master:strain:export', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1122', '客户导入', '503', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'master:customer:import', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1123', '客户导出', '503', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'master:customer:export', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1124', '现场导入', '504', '6', '', '', '', '', 1, 0, 'F', '0', '0', 'master:site:import', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1125', '现场导出', '504', '7', '', '', '', '', 1, 0, 'F', '0', '0', 'master:site:export', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1126', '产线导入', '505', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'master:line:import', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1127', '产线导出', '505', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'master:line:export', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1128', '仓库导入', '506', '6', '', '', '', '', 1, 0, 'F', '0', '0', 'master:warehouse:import', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1129', '仓库导出', '506', '7', '', '', '', '', 1, 0, 'F', '0', '0', 'master:warehouse:export', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1130', '托盘导入', '507', '6', '', '', '', '', 1, 0, 'F', '0', '0', 'master:pallet:import', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1131', '托盘导出', '507', '7', '', '', '', '', 1, 0, 'F', '0', '0', 'master:pallet:export', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1132', '隧道导入', '520', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'master:tunnel:import', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1133', '隧道导出', '520', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'master:tunnel:export', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1092', '入库查询', '508', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'business:inbound:query', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1093', '入库新增', '508', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'business:inbound:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('1094', '入库修改', '508', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'business:inbound:edit', '#', 'admin', sysdate(), '', null, '');