1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
-- =====================================================
-- 质量管理 - 检测结果台账 菜单与权限
--
-- 背景:质检各模块(IQC/IPQC/OQC/RQC)的检测结果原先分散在各自列表内,
--       缺少跨类型的统一查询与台帐导出。本次新增「检测结果台账」页面:
--       按分类(检验类型)+ 检测日期区间 + 物料/批次/检测结果/检测人筛选,
--       列表直接展示检测项实测结果,并支持导出 Excel 台账用于查询、打印、存档。
--
-- 内容:
--   ① 菜单 1075421「检测结果台账」 type=2,component=mes/qc/ledger/index
--   ② 按钮 1075422「检测结果台账查询」= mes:qc-inspection-ledger:query
--   ③ 按钮 1075423「检测结果台账导出」= mes:qc-inspection-ledger:export
--   ④ 将以上 3 个菜单授予已拥有「来料检验查询」(5641) 的全部角色
--
-- 幂等:先删后插,可重复执行
-- 执行方式(避免中文乱码):
--   cmd /c "mysql -uroot -p1234 --default-character-set=utf8mb4 ruoyi-vue-pro < docs\sql\qc_inspection_ledger_menu.sql"
-- =====================================================
 
SET NAMES utf8mb4;
 
-- ------------------------------------------------------------
-- ① 菜单:检测结果台账
-- ------------------------------------------------------------
DELETE FROM `system_role_menu` WHERE `menu_id` IN (1075421, 1075422, 1075423);
DELETE FROM `system_menu` WHERE `id` IN (1075421, 1075422, 1075423);
 
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1075421, '检测结果台账', '', 2, 14, 5500, 'inspection-ledger', 'ep:document', 'mes/qc/ledger/index', 'MesQcInspectionLedger', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- ------------------------------------------------------------
-- ② 按钮:查询 / 导出
-- ------------------------------------------------------------
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (1075422, '检测结果台账查询', 'mes:qc-inspection-ledger:query', 3, 1, 1075421, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
       (1075423, '检测结果台账导出', 'mes:qc-inspection-ledger:export', 3, 2, 1075421, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
 
-- ------------------------------------------------------------
-- ③ 授权:跟随「来料检验查询」(5641) 的角色
-- ------------------------------------------------------------
INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
SELECT DISTINCT rm.`role_id`, m.`id`, '1', NOW(), '1', NOW(), b'0'
FROM `system_role_menu` rm
    JOIN (SELECT 1075421 AS `id` UNION ALL SELECT 1075422 UNION ALL SELECT 1075423) m
WHERE rm.`menu_id` = 5641 AND rm.`deleted` = b'0';
 
-- ------------------------------------------------------------
-- 校验
-- ------------------------------------------------------------
SELECT '  menu_1075421' AS item, COUNT(*) AS cnt FROM `system_menu` WHERE `id` = 1075421
UNION ALL SELECT '  menu_1075422', COUNT(*) FROM `system_menu` WHERE `id` = 1075422
UNION ALL SELECT '  menu_1075423', COUNT(*) FROM `system_menu` WHERE `id` = 1075423
UNION ALL SELECT '  roles       ', COUNT(*) FROM `system_role_menu` WHERE `menu_id` IN (1075421, 1075422, 1075423) AND `deleted` = b'0';