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
package cn.iocoder.yudao.module.research.enums;
 
import cn.hutool.core.util.ArrayUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
 
/**
 * 课题申报书状态枚举
 *
 * 与仓库既有单据(入会申请、报销单)保持一致的状态机取值
 *
 * @author 超级管理员
 */
@Getter
@AllArgsConstructor
public enum ResearchApplicationStatusEnum {
 
    DRAFT(0, "草稿"),
    APPROVING(15, "审批中"),
    APPROVED(20, "已立项"),
    REJECTED(35, "已驳回"),
    ;
 
    private final Integer status;
    private final String name;
 
    public static ResearchApplicationStatusEnum valueOf(Integer status) {
        return ArrayUtil.firstMatch(e -> e.getStatus().equals(status), values());
    }
 
    /** 按状态值取中文名,未匹配时回退原始值,便于错误提示可读 */
    public static String nameOf(Integer status) {
        ResearchApplicationStatusEnum item = valueOf(status);
        return item != null ? item.getName() : String.valueOf(status);
    }
 
}