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
54
55
56
57
58
59
| -- =====================================================
| -- HRM 考勤节假日配置 修复脚本
| --
| -- 背景:该页面(菜单 6014「节假日配置」)存在两处缺失,导致页面不可用:
| -- 1. 缺字典 hrm_holiday_type:前端「类型」单选与列表「类型」列取不到选项/文本,
| -- 且类型为必选,新增/编辑无法保存(hrm_attendance_holiday 表长期 0 行)。
| -- 2. 缺按钮权限 hrm:attendance-holiday:query:后端 /page、/get 依赖该权限码,
| -- 非超管角色(菜单已授权)因无此权限码而全部 403。
| --
| -- 内容:
| -- ① 字典类型 hrm_holiday_type(1-休息日 / 2-工作日,对应 HrmAttendanceHolidayTypeEnum)
| -- ② 菜单按钮 60141「节假日配置查询」= hrm:attendance-holiday:query
| -- ③ 将 60141 授予已拥有「节假日配置新增」(60142) 的全部角色
| --
| -- 幂等:先删后插,可重复执行
| -- 执行方式(避免中文乱码):
| -- cmd /c "mysql -uroot -p1234 --default-character-set=utf8mb4 ruoyi-vue-pro < docs\sql\hrm_holiday_config_fix.sql"
| -- =====================================================
|
| SET NAMES utf8mb4;
|
| -- ------------------------------------------------------------
| -- ① 字典:hrm_holiday_type
| -- ------------------------------------------------------------
| DELETE FROM `system_dict_data` WHERE `dict_type` = 'hrm_holiday_type';
| DELETE FROM `system_dict_type` WHERE `type` = 'hrm_holiday_type';
|
| INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
| VALUES (1065500, 'HRM 节假日类型', 'hrm_holiday_type', 0, '1', NOW(), '1', NOW(), b'0');
|
| INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
| VALUES
| (1065501, 1, '休息日', '1', 'hrm_holiday_type', 0, 'success', '', '1', NOW(), '1', NOW(), b'0'),
| (1065502, 2, '工作日', '2', 'hrm_holiday_type', 0, 'primary', '', '1', NOW(), '1', NOW(), b'0');
|
| -- ------------------------------------------------------------
| -- ② 菜单按钮:节假日配置查询
| -- ------------------------------------------------------------
| DELETE FROM `system_role_menu` WHERE `menu_id` = 60141;
| DELETE FROM `system_menu` WHERE `id` = 60141;
|
| 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 (60141, '节假日配置查询', 'hrm:attendance-holiday:query', 3, 1, 6014, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
|
| -- ------------------------------------------------------------
| -- ③ 授权:跟随「节假日配置新增」(60142) 的角色
| -- ------------------------------------------------------------
| INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
| SELECT DISTINCT rm.`role_id`, 60141, '1', NOW(), '1', NOW(), b'0'
| FROM `system_role_menu` rm
| WHERE rm.`menu_id` = 60142 AND rm.`deleted` = b'0';
|
| -- ------------------------------------------------------------
| -- 校验
| -- ------------------------------------------------------------
| SELECT ' dict_type ' AS item, COUNT(*) AS cnt FROM `system_dict_type` WHERE `type` = 'hrm_holiday_type'
| UNION ALL SELECT ' dict_data ', COUNT(*) FROM `system_dict_data` WHERE `dict_type` = 'hrm_holiday_type'
| UNION ALL SELECT ' menu_60141', COUNT(*) FROM `system_menu` WHERE `id` = 60141
| UNION ALL SELECT ' roles ', COUNT(*) FROM `system_role_menu` WHERE `menu_id` = 60141 AND `deleted` = b'0';
|
|