package com.ycl.common.enums.business; import cn.hutool.core.util.ObjectUtil; import lombok.AllArgsConstructor; import lombok.Getter; @Getter @AllArgsConstructor public enum ProjectCategoryEnum { RESERVE("1", "pendding", "储备项目","reserve","储备规划阶段"), PREVIOUS("2", "pendding","前期项目","previous","项目前期阶段"), IMPLEMENT("3", "working,stop","实施项目","implement","实施阶段"), FINISH("4", "finish","竣工项目","finish","竣工投用阶段"), EXCEPTION("5", "","异常项目","exception",""); private final String type; private final String status; private final String name; private final String code; private final String desc; //判断传入数据是否存在四种项目推进状态 public static boolean isValidType(String type) { for (ProjectCategoryEnum status : ProjectCategoryEnum.values()) { if (status.getDesc().equals(type) && ObjectUtil.notEqual(type,ProjectCategoryEnum.EXCEPTION.getName())) { return true; } } return false; } /** * 获取项目阶段 * @param projectStatus * @param hasProcess 是否启动流程 * @return */ public static String getPhaseByProjectStatus(String projectStatus, boolean hasProcess) { for (ProjectCategoryEnum projectCategoryEnum : ProjectCategoryEnum.values()) { if (hasProcess && PREVIOUS.status.contains(projectStatus)) { return PREVIOUS.desc; } if (projectCategoryEnum.status.contains(projectStatus)) { return projectCategoryEnum.desc; } } return null; } }