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 RescueNodeEnum {
    RECEIVE("1", "接单", "3"),
    DEPARTURE("2", "出发", "4"),
    ARRIVE("3", "到达", "5"),
    ENCLOSE("4", "围蔽", "6"),
    START_TOW("5", "起拖", "7"),
    START_DRAG("6", "拖行开始", "8"),
    END_DRAG("7", "拖行结束", "9"),
    CHARGE("8", "收费", "10"),
    SUPPLEMENT("9", "补单", "11"),
    REGISTER("10", "登记", "1"),
    DISPATCH("11", "派单", "2"),
    END("12", "结束", "11"),
    EMPTY("13", "返空", "100"),
    RETURN("14", "中止", "101"),
    TIMEOUT("15", "挂起", "101");
    private final String code;
    private final String name;
    private final String xc_code;

    /**
     * 通过 name 获取巡查系统的 code
     *
     * @param name name
     * @return xc_code
     */
    public static String getXcCodeByName(String name) {
        for (RescueNodeEnum e : values()) {
            if (e.getName().equalsIgnoreCase(name)) {
                return e.getXc_code();
            }
        }
        return null;
    }

    /**
     * 通过 code 获取巡查系统的 code
     *
     * @param  code
     * @return xc_code
     */
    public static String getXcCodeByCode(String code) {
        for (RescueNodeEnum e : values()) {
            if (e.getCode().equalsIgnoreCase(code)) {
                return e.getXc_code();
            }
        }
        return null;
    }
}