吉安感知网项目-后端
linwei
2026-01-20 d6ef200f1005fe7f62262a4c4cd045ea5dedc2a4
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java
@@ -75,6 +75,16 @@
    RESPONDING_CANCELED("23", "响应中_已取消", "接单响应"),
    /**
     * 响应中_拒绝取消
     */
    RESPONDING_REJECT_CANCEL("24", "响应中_拒绝取消", "接单响应"),
    /**
     * 响应中_拒绝修改
     */
    RESPONDING_REJECT_MODIFY("25", "响应中_拒绝修改", "接单响应"),
    /**
     * 执行中_待全部完成
     */
    EXECUTING_TO_BE_COMPLETED("30", "执行中_待全部完成", "执行中"),
@@ -169,12 +179,12 @@
     * @param code 状态码
     * @return 枚举对象
     */
    public static WorkOrderStatusEnum getByCode(Byte code) {
    public static WorkOrderStatusEnum getByCode(String code) {
        if (code == null) {
            return null;
        }
        for (WorkOrderStatusEnum status : values()) {
            if (status.getCode().equals(code)) {
            if (code.equals(status.getCode())) {
                return status;
            }
        }
@@ -186,7 +196,7 @@
     * @param code 状态码
     * @return 状态描述
     */
    public static String getDescByCode(Byte code) {
    public static String getDescByCode(String code) {
        WorkOrderStatusEnum status = getByCode(code);
        return status != null ? status.getDesc() : null;
    }
@@ -196,7 +206,42 @@
     * @param code 状态码
     * @return 是否有效
     */
    public static boolean isValid(Byte code) {
    public static boolean isValid(String code) {
        return getByCode(code) != null;
    }
    /**
     * 检查当前状态是否允许指定的操作类型
     * @param operationType 操作类型:1接单,2拒接接单,3申请取消,4申请修改, 5同意取消  6不同意取消 7.同意修改 8.不同意修改
     * @return 是否允许操作
     */
    public boolean isAllowedOperation(Integer operationType) {
        if (operationType == null) {
            return false;
        }
        switch (this) {
            case PUBLISHING_ACCEPTING:
                // 发布中_接单中状态允许:1接单,2拒接接单
                return operationType == 1 || operationType == 2;
            case RESPONDING_TO_BE_SPLIT:
                // 响应中_待拆分状态允许:3申请取消,4申请修改
                return operationType == 3 || operationType == 4 ;
            case RESPONDING_APPLY_CANCEL:
                // 响应中_申请取消状态允许:6同意取消,8不同意取消
                return operationType == 5 || operationType == 6;
            case RESPONDING_APPLY_MODIFY:
                // 响应中_申请修改状态允许:7同意修改,9不同意修改
                return operationType ==7 || operationType == 8 ;
            case RESPONDING_REJECT_CANCEL:
                // 响应中_拒绝取消状态允许:1接单
                return operationType == 3;
            case RESPONDING_REJECT_MODIFY:
                // 响应中_拒绝修改状态允许:1接单
                return operationType == 4;
            default:
                // 其他状态不允许操作
                return false;
        }
    }
}