gaoluyang
3 小时以前 1cbc592d8b674b63a6e2117d7c48ab4ff8cb867e
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
-- HRM 审批状态字典
-- 影响页面:人力资源模块中所有使用 hrm_audit_status 字典的单据列表/详情(考勤异常申请、请假、离职、调岗等)
--
-- 背景:代码中大量使用 @DictFormat("hrm_audit_status") 与前端 DICT_TYPE.HRM_AUDIT_STATUS,
--       但 system_dict_type / system_dict_data 中缺少该字典,导致状态列显示为空、导出无中文名。
--
-- 本脚本幂等,可重复执行。执行后清理字典缓存(重启后端,或删除 Redis 中的 dict_data:* 相关键),
-- 前端重新登录/刷新后生效。
 
-- 1. 字典类型
INSERT INTO system_dict_type (name, type, status, remark, creator, updater)
SELECT 'HRM 审批状态', 'hrm_audit_status', 0, '人力模块单据审批状态', '1', '1'
WHERE NOT EXISTS (
    SELECT 1 FROM system_dict_type WHERE type = 'hrm_audit_status' AND deleted = b'0'
);
 
-- 2. 字典数据(与 HrmAuditStatusEnum 保持一致)
INSERT INTO system_dict_data (sort, label, value, dict_type, status, color_type, css_class, remark, creator, updater)
SELECT s.sort, s.label, s.value, 'hrm_audit_status', 0, s.color_type, '', '', '1', '1'
FROM (
    SELECT 0 AS sort, '草稿' AS label, '0' AS value, 'info' AS color_type
    UNION ALL SELECT 10, '审批中', '10', 'default'
    UNION ALL SELECT 20, '审批通过', '20', 'success'
    UNION ALL SELECT 30, '审批驳回', '30', 'danger'
    UNION ALL SELECT 40, '已撤销', '40', 'warning'
) s
WHERE NOT EXISTS (
    SELECT 1 FROM system_dict_data d
    WHERE d.dict_type = 'hrm_audit_status' AND d.value = s.value AND d.deleted = b'0'
);