刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
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
package jnpf.limsEntity;
 
/**
 * 检验项任务(lims_jianyan_xiang.jianyan_zhuangtai)的状态枚举。
 * 与 {@link BizStatus}、{@link JieyangStatus} 解耦,跟踪检验项维度的录入/审核进度。
 */
public enum JianyanStatus {
 
    /**
     * 已创建(仅用于 POST /lims/biz/jieyang/edit-direct 直写路径写入的检验项的初始态)。
     * 与 {@link FenjianZhuangtai#WEI_FENJIAN} 配套出现 —— 直写场景下检验项还没有走过班组分检,
     * 需要由"分检"动作把它推进到 {@link #PENDING_ASSIGN} 才能进入正常分配/录入/审核流程。
     *
     * <p>走传统 /jieyang/edit + 班组接收的路径生成的检验项不会用此状态,
     * 而是直接从 {@link #PENDING_ASSIGN} 开始(语义:已分检,待分配)。
     */
    CREATED("created", "已创建"),
    PENDING_ASSIGN("pending_assign", "待分配"),
    PENDING_TEST("pending_test", "待录入"),
    AUDIT_REJECTED("audit_rejected", "已退回"), // 审核退回,本质上是一个待录入状态,这里主要是为了列表显示
    PENDING_AUDIT("pending_audit", "待审核"),
    AUDITED("audited", "已审核"),
    CANCELLED("cancelled", "已撤回");
 
    private final String code;
    private final String label;
 
    JianyanStatus(String code, String label) {
        this.code = code;
        this.label = label;
    }
 
    public String getCode() {
        return code;
    }
 
    public String getLabel() {
        return label;
    }
 
    public static JianyanStatus fromCode(String code) {
        for (JianyanStatus status : values()) {
            if (status.code.equals(code)) {
                return status;
            }
        }
        throw new IllegalArgumentException("未知检验状态: " + code);
    }
}