package com.artfess.rescue.external.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @Author: wsf
 * @Description: 工单状态
 * @DateTime: 2025/4/17 11:21
 **/
@Getter
@AllArgsConstructor
public enum OrderStatusEnum {
    /**
     * -1:草稿，0:未委派，1:待接单，2：进行中，3：中止，4：挂起，5：已完成，6：返空，7：取消，8：异常)
     */
    TO_BE_RECEIVED(0L, "待接单", 1),
    IN_PROGRESS(1L, "进行中", 2),
    TERMINATED(2L, "中止", 3),
    SUSPENDED(3L, "挂起", 4),
    COMPLETED(4L, "完成", 5),
    EXCEPTION(5L, "异常工单", 8),
    TO_BE_DISPATCHED(6L, "待派单", 0),
    EMPTY(7L, "放空", 6),
    CANCELLED(8L, "已取消", 7);

    private final Long code;
    private final String name;
    private final Integer xc_code;


    /**
     * 通过 code 获取巡查系统的 code
     *
     * @param code code
     * @return xc_code
     */
    public static Integer getXcCodeByCode(Long code) {
        for (OrderStatusEnum e : values()) {
            if (e.getCode().equals(code)) {
                return e.getXc_code();
            }
        }
        return null;
    }

}