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); } }