package com.hzs.common.core.enums;

import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 安置部门
 */
@AllArgsConstructor
@Getter
public enum EPlaceDept {

    /**
     * 第零部门
     */
    ZERO_DEPT(0, "第零部门", 1, EnumsPrefixConstants.PLACE_DEPT + "0"),

    /**
     * 第一部门
     */
    LEFT_DEPT(1, "第一部门", 0, EnumsPrefixConstants.PLACE_DEPT + "1"),

    /**
     * 第二部门
     */
    RIGHT_DEPT(2, "第二部门", 0, EnumsPrefixConstants.PLACE_DEPT + "2"),

    /**
     * 空单注册扩展部门
     */
    THREE_DEPT(3, "第三部门", 1, EnumsPrefixConstants.PLACE_DEPT + "3"),
    FOUR_DEPT(4, "第四部门", 1, EnumsPrefixConstants.PLACE_DEPT + "4"),
    FIVE_DEPT(5, "第五部门", 1, EnumsPrefixConstants.PLACE_DEPT + "5"),
    SIX_DEPT(6, "第六部门", 1, EnumsPrefixConstants.PLACE_DEPT + "6"),
    SEVEN_DEPT(7, "第七部门", 1, EnumsPrefixConstants.PLACE_DEPT + "7"),
    EIGHT_DEPT(8, "第八部门", 1, EnumsPrefixConstants.PLACE_DEPT + "8"),
    NINE_DEPT(9, "第九部门", 1, EnumsPrefixConstants.PLACE_DEPT + "9"),
    TEN_DEPT(10, "第十部门", 1, EnumsPrefixConstants.PLACE_DEPT + "10"),

    ELEVEN_DEPT(11, "第十一部门", 1, EnumsPrefixConstants.PLACE_DEPT + "11"),
    TWELVE_DEPT(12, "第十二部门", 1, EnumsPrefixConstants.PLACE_DEPT + "12"),
    THIRTEEN_DEPT(13, "第十三部门", 1, EnumsPrefixConstants.PLACE_DEPT + "13"),
    FOURTEEN_DEPT(14, "第十四部门", 1, EnumsPrefixConstants.PLACE_DEPT + "14"),
    FIFTEEN_DEPT(15, "第十五部门", 1, EnumsPrefixConstants.PLACE_DEPT + "15"),
    SIXTEEN_DEPT(16, "第十六部门", 1, EnumsPrefixConstants.PLACE_DEPT + "16"),
    SEVENTEEN_DEPT(17, "第十七部门", 1, EnumsPrefixConstants.PLACE_DEPT + "17"),
    EIGHTEEN_DEPT(18, "第十八部门", 1, EnumsPrefixConstants.PLACE_DEPT + "18"),
    NINETEEN_DEPT(19, "第十九部门", 1, EnumsPrefixConstants.PLACE_DEPT + "19"),
    TWENTY_DEPT(20, "第二十部门", 1, EnumsPrefixConstants.PLACE_DEPT + "20"),
    ;

    /**
     * 实际值
     */
    private final int value;
    /**
     * 显示标签
     */
    private final String label;
    /**
     * 是否启用（0=是,1=否） -- 来源EYesNo
     */
    private final int enable;
    /**
     * 国际化翻译key值
     */
    private final String key;

    public static String getEPlaceDept(int value) {
        for (EPlaceDept ePlaceDept : EPlaceDept.values()) {
            if (ePlaceDept.value == value) {
                return ePlaceDept.label;
            }
        }
        return null;
    }

    /**
     * 根据label获取枚举
     *
     * @param label
     * @return
     */
    public static EPlaceDept getEnumByLabel(String label) {
        for (EPlaceDept value : EPlaceDept.values()) {
            if (value.getLabel().equals(label)) {
                return value;
            }
        }
        return null;
    }

}
