吉安感知网项目-后端
linwei
2026-01-17 c2f2560287e9d71a472099ef868eaf919dc5ea1a
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
package org.sxkj.gd.workorder.enums;
 
/**
 * 工单状态枚举
 * @author lw
 * @since 2026-01-17
 */
public enum WorkOrderStatusEnum {
 
    /**
     * 工单阶段:工单发布
     */
    STAGE_WORK_ORDER_RELEASE("工单发布"),
 
    /**
     * 工单阶段:接单响应
     */
    STAGE_ORDER_RESPONSE("接单响应"),
 
    /**
     * 工单阶段:执行中
     */
    STAGE_IN_EXECUTION("执行中"),
 
    /**
     * 工单阶段:完成待验
     */
    STAGE_COMPLETED_PENDING_INSPECTION("完成待验"),
 
    /**
     * 工单阶段:验收通过
     */
    STAGE_ACCEPTED("验收通过"),
 
    /**
     * 工单阶段:结算完成
     */
    STAGE_SETTLEMENT_COMPLETED("结算完成"),
 
    // ------------------ 以下是工单状态 ------------------
 
    /**
     * 草稿
     */
    DRAFT(0, "草稿", null),
 
    /**
     * 发布中_接单中
     */
    PUBLISHING_ACCEPTING(10, "发布中_接单中", "工单发布"),
 
    /**
     * 发布中_拒绝接单
     */
    PUBLISHING_REJECTING(11, "发布中_拒绝接单", "工单发布"),
 
    /**
     * 响应中_待拆分
     */
    RESPONDING_TO_BE_SPLIT(20, "响应中_待拆分", "接单响应"),
 
    /**
     * 响应中_申请取消
     */
    RESPONDING_APPLY_CANCEL(21, "响应中_申请取消", "接单响应"),
 
    /**
     * 响应中_申请修改
     */
    RESPONDING_APPLY_MODIFY(22, "响应中_申请修改", "接单响应"),
 
    /**
     * 响应中_已取消
     */
    RESPONDING_CANCELED(23, "响应中_已取消", "接单响应"),
 
    /**
     * 执行中_待全部完成
     */
    EXECUTING_TO_BE_COMPLETED(30, "执行中_待全部完成", "执行中"),
 
    /**
     * 执行中_协商修改
     */
    EXECUTING_NEGOTIATE_MODIFY(31, "执行中_协商修改", "执行中"),
 
    /**
     * 完成待验_待全部验收
     */
    COMPLETED_TO_BE_INSPECTED(40, "完成待验_待全部验收", "完成待验"),
 
    /**
     * 验收通过_待结算
     */
    ACCEPTED_TO_BE_SETTLED(50, "验收通过_待结算", "验收通过"),
 
    /**
     * 结算完成_已结算
     */
    SETTLEMENT_COMPLETED(60, "结算完成_已结算", "结算完成");
 
    private final Byte code;
    private final String desc;
    private final String stageDesc;
    private final boolean isStage;
 
    /**
     * 工单阶段构造函数
     */
    WorkOrderStatusEnum(String stageDesc) {
        this.code = null;
        this.desc = null;
        this.stageDesc = stageDesc;
        this.isStage = true;
    }
 
    /**
     * 工单状态构造函数
     */
    WorkOrderStatusEnum(int code, String desc, String stageDesc) {
        this.code = (byte) code;
        this.desc = desc;
        this.stageDesc = stageDesc;
        this.isStage = false;
    }
 
    /**
     * 获取状态码
     * @return 状态码
     */
    public Byte getCode() {
        return code;
    }
 
    /**
     * 获取状态描述
     * @return 状态描述
     */
    public String getDesc() {
        return desc;
    }
 
    /**
     * 获取工单阶段描述
     * @return 工单阶段描述
     */
    public String getStageDesc() {
        return stageDesc;
    }
 
    /**
     * 是否为工单阶段
     * @return 是否为工单阶段
     */
    public boolean isStage() {
        return isStage;
    }
 
    /**
     * 是否为工单状态
     * @return 是否为工单状态
     */
    public boolean isStatus() {
        return !isStage;
    }
 
    /**
     * 根据状态码获取枚举对象
     * @param code 状态码
     * @return 枚举对象
     */
    public static WorkOrderStatusEnum getByCode(Byte code) {
        if (code == null) {
            return null;
        }
        for (WorkOrderStatusEnum status : values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return null;
    }
 
    /**
     * 根据状态码获取状态描述
     * @param code 状态码
     * @return 状态描述
     */
    public static String getDescByCode(Byte code) {
        WorkOrderStatusEnum status = getByCode(code);
        return status != null ? status.getDesc() : null;
    }
 
    /**
     * 判断状态码是否有效
     * @param code 状态码
     * @return 是否有效
     */
    public static boolean isValid(Byte code) {
        return getByCode(code) != null;
    }
}