kongzy
2024-01-29 983bdb5b89932b38d08a11ad1eed6ea89d1597e1
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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<Integer> 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<Integer> getRiskProcess(){
        List<Integer> riskProcess=new ArrayList<>();
        for (ReportProgressEnum e : values()) {
            if (e.getCode()<=4) {
                riskProcess.add(e.getCode());
            }
        }
        return riskProcess;
    }
 
    /**
     * 现场勘验阶段 项目状态码
     * @return
     */
    public static List<Integer> getInvestigationProcess(){
        List<Integer> investigationProcess=new ArrayList<>();
        for (ReportProgressEnum e : values()) {
            if (e.getCode()>4 &&e.getCode()<=6) {
                investigationProcess.add(e.getCode());
            }
        }
        return investigationProcess;
    }
 
    /**
     * 项目审核阶段 项目状态码
     * @return
     */
    public static List<Integer> getReviewProcess(){
        List<Integer> reviewProcess=new ArrayList<>();
        for (ReportProgressEnum e : values()) {
            if (e.getCode()>6 &&e.getCode()<=9) {
                reviewProcess.add(e.getCode());
            }
        }
        return reviewProcess;
    }
 
    /**
     * 出具报告阶段 项目状态码
     * @return
     */
    public static List<Integer> getReportProcess(){
        List<Integer> reportProcess=new ArrayList<>();
        for (ReportProgressEnum e : values()) {
            if (e.getCode()>9 &&e.getCode()<=11) {
                reportProcess.add(e.getCode());
            }
        }
        return reportProcess;
    }
 
    /**
     * 项目归档阶段 项目状态码
     * @return
     */
    public static List<Integer> getArchiveProcess(){
        List<Integer> archiveProcess=new ArrayList<>();
        for (ReportProgressEnum e : values()) {
            if (e.getCode()>11) {
                archiveProcess.add(e.getCode());
            }
        }
        return archiveProcess;
    }
}