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
package cn.iocoder.yudao.module.hrm.enums;
 
import lombok.Getter;
import lombok.RequiredArgsConstructor;
 
import java.util.Arrays;
 
/**
 * 员工类别枚举:用于加班工资的差异化核算。
 *
 * <ul>
 *     <li>普通员工:加班工资按岗位配置的固定时薪(默认 20 元/小时)核算</li>
 *     <li>技工:加班薪资按 1:1 核算,与平时时薪一致(基本工资 / 21.75 / 8)</li>
 *     <li>管理:不计加班工资</li>
 * </ul>
 */
@Getter
@RequiredArgsConstructor
public enum HrmEmployeeCategoryEnum {
 
    NORMAL(1, "普通员工"),
    TECHNICIAN(2, "技工"),
    MANAGER(3, "管理");
 
    private final Integer category;
    private final String name;
 
    public static HrmEmployeeCategoryEnum valueOfCategory(Integer category) {
        if (category == null) {
            return null;
        }
        return Arrays.stream(values()).filter(item -> item.category.equals(category)).findFirst().orElse(null);
    }
 
    public static String getName(Integer category) {
        HrmEmployeeCategoryEnum value = valueOfCategory(category);
        return value == null ? "" : value.name;
    }
 
}