package com.mortals.xhx.common.code;

import java.util.LinkedHashMap;
import java.util.Map;

/**
* 法规类型，(法律.法律，行政法规.行政法规，地方法规.地方法规，部门规章.部门规章，其他.其他，政府规章.政府规章，规范性文件.规范性文件)枚举类
*
* @author zxfei
*/
public enum PolicyTypeEnum {
    法律("法律", "法律"),
    行政法规("行政法规", "行政法规"),
    地方法规("地方法规", "地方法规"),
    部门规章("部门规章", "部门规章"),
    其他("其他", "其他"),
    政府规章("政府规章", "政府规章"),
    规范性文件("规范性文件", "规范性文件");
    private String value;
    private String desc;

    PolicyTypeEnum(String value, String desc) {
        this.value = value;
        this.desc = desc;
    }

    public String getValue() {
        return this.value;
    }

    public String getDesc() {
        return this.desc;
    }

    public static PolicyTypeEnum getByValue(String value) {
        for (PolicyTypeEnum policyTypeEnum : PolicyTypeEnum.values()) {
            if (policyTypeEnum.getValue() == value) {
                return policyTypeEnum;
            }
        }
        return null;
    }

    /**
    * 获取Map集合
    *
    * @param eItem 不包含项
    * @return
    */
    public static Map<String, String> getEnumMap(String... eItem) {
        Map<String, String> resultMap = new LinkedHashMap<>();
        for (PolicyTypeEnum item : PolicyTypeEnum.values()) {
            try {
                boolean hasE = false;
                for (String e : eItem) {
                    if (item.getValue() == e) {
                        hasE = true;
                        break;
                    }
                }
                if (!hasE) {
                    resultMap.put(item.getValue() + "", item.getDesc());
                }
            } catch (Exception ex) {

            }
        }
        return resultMap;
    }
}