package com.sckw.transport.model.enuma;

import lombok.Getter;

/**
 * @author cxf
 * @desc 地图车辆排序类型枚举
 * @date 2025-12-01
 */
@Getter
public enum MapVehicleSortTypeEnum {
    
    /**
     * 按时间排序（任务开始时间倒序）
     */
    TIME_DESC(1, "按时间排序"),
    
    /**
     * 耗时排序（按任务完成耗时倒序）
     */
    DURATION_DESC(2, "耗时排序"),
    
    /**
     * 异常排序（任务过程产生的异常数倒序）
     */
    EXCEPTION_COUNT_DESC(3, "异常排序");
    
    private final Integer code;
    private final String name;
    
    MapVehicleSortTypeEnum(Integer code, String name) {
        this.code = code;
        this.name = name;
    }
    
    public static String getName(Integer code) {
        for (MapVehicleSortTypeEnum entity : MapVehicleSortTypeEnum.values()) {
            if (entity.getCode().equals(code)) {
                return entity.getName();
            }
        }
        return null;
    }
    
    public static MapVehicleSortTypeEnum getByCode(Integer code) {
        for (MapVehicleSortTypeEnum entity : MapVehicleSortTypeEnum.values()) {
            if (entity.getCode().equals(code)) {
                return entity;
            }
        }
        return TIME_DESC;
    }
}
