package com.gkhy.assess.system.enums; import java.util.ArrayList; import java.util.List; /** * 项目状态类型(五大阶段的详细状态) * */ public enum ReportProgressEnum { ADD(0, "新增"), RISK_ESTIMATE(1, "项目分析分析"), CONTRACT(2, "合同管理"), ESTIMATE_TASK(3, "评价任务通知"), ESTIMATE_PLAN(4, "评价项目计划"), WORK_NOTIFICATION(5, "从业告知"), INVESTINGATION(6, "现场勘验记录"), INNER_AUDIT(7, "内部审核"), TECH_AUDIT(8, "技术负责人审核"), REVIEW_RECORD(9, "评审记录"), CONCLUSION(10, "评价结论"), PROCESS_AUDIT(11, "过程控制人审核"), PROJECT_MATERIAL(12, "项目归档"), FACE_RECOGNITION(13, "签字确认"), CONFIRM_FINAL(14, "确认完结"); private final Integer code; private final String info; ReportProgressEnum(Integer code, String info) { this.code = code; this.info = info; } public Integer getCode() { return code; } public String getInfo() { return info; } public static ReportProgressEnum getByCode(Integer code) { for (ReportProgressEnum e : values()) { if (e.getCode().equals(code)) { return e; } } throw new RuntimeException("enum not exists."); } public static List getProcessByPhase(int projectPhase){ if(projectPhase==ProgressPhaseEnum.RISK.getCode()){ return getRiskProcess(); }else if(projectPhase==ProgressPhaseEnum.INVESTIGATION.getCode()){ return getInvestigationProcess(); }else if(projectPhase==ProgressPhaseEnum.REVIEW.getCode()){ return getReviewProcess(); }else if(projectPhase==ProgressPhaseEnum.REPORT.getCode()){ return getReportProcess(); }else if(projectPhase==ProgressPhaseEnum.ARCHIVE.getCode()){ return getArchiveProcess(); } return null; } /** * * 风险分析及计划评价阶段 项目状态码 * @return */ public static List getRiskProcess(){ List riskProcess=new ArrayList<>(); for (ReportProgressEnum e : values()) { if (e.getCode()<=4) { riskProcess.add(e.getCode()); } } return riskProcess; } /** * 现场勘验阶段 项目状态码 * @return */ public static List getInvestigationProcess(){ List investigationProcess=new ArrayList<>(); for (ReportProgressEnum e : values()) { if (e.getCode()>4 &&e.getCode()<=6) { investigationProcess.add(e.getCode()); } } return investigationProcess; } /** * 项目审核阶段 项目状态码 * @return */ public static List getReviewProcess(){ List reviewProcess=new ArrayList<>(); for (ReportProgressEnum e : values()) { if (e.getCode()>6 &&e.getCode()<=9) { reviewProcess.add(e.getCode()); } } return reviewProcess; } /** * 出具报告阶段 项目状态码 * @return */ public static List getReportProcess(){ List reportProcess=new ArrayList<>(); for (ReportProgressEnum e : values()) { if (e.getCode()>9 &&e.getCode()<=11) { reportProcess.add(e.getCode()); } } return reportProcess; } /** * 项目归档阶段 项目状态码 * @return */ public static List getArchiveProcess(){ List archiveProcess=new ArrayList<>(); for (ReportProgressEnum e : values()) { if (e.getCode()>11) { archiveProcess.add(e.getCode()); } } return archiveProcess; } }