package com.CUST.brain.common.enums;

import lombok.Getter;

/**
 * 参数类型枚举
 */
@Getter
public enum ParamTypeEnum {
    
    /**
     * 性别
     */
    SEX("SEX", "性别"),
    
    /**
     * 学历
     */
    EDUCATION("EDUCATION", "学历"),
    
    /**
     * 职称
     */
    TITLE("TITLE", "职称"),
    
    /**
     * 政治面貌
     */
    POLITICAL_STATUS("POLITICAL_STATUS", "政治面貌"),
    
    /**
     * 民族
     */
    ETHNICITY("ETHNICITY", "民族"),
    
    /**
     * 婚姻状况
     */
    MARITAL_STATUS("MARITAL_STATUS", "婚姻状况"),
    
    /**
     * 健康状况
     */
    HEALTH_STATUS("HEALTH_STATUS", "健康状况"),
    
    /**
     * 工作状态
     */
    WORK_STATUS("WORK_STATUS", "工作状态"),
    
    /**
     * 项目类型
     */
    PROJECT_TYPE("PROJECT_TYPE", "项目类型"),
    
    /**
     * 项目级别
     */
    PROJECT_LEVEL("PROJECT_LEVEL", "项目级别"),
    
    /**
     * 项目状态
     */
    PROJECT_STATUS("PROJECT_STATUS", "项目状态"),
    
    /**
     * 获奖级别
     */
    AWARD_LEVEL("AWARD_LEVEL", "获奖级别"),
    
    /**
     * 获奖类型
     */
    AWARD_TYPE("AWARD_TYPE", "获奖类型"),
    
    /**
     * 专利类型
     */
    PATENT_TYPE("PATENT_TYPE", "专利类型"),
    
    /**
     * 专利状态
     */
    PATENT_STATUS("PATENT_STATUS", "专利状态"),
    
    /**
     * 论文类型
     */
    PAPER_TYPE("PAPER_TYPE", "论文类型"),
    
    /**
     * 论文级别
     */
    PAPER_LEVEL("PAPER_LEVEL", "论文级别"),
    
    /**
     * 著作类型
     */
    MONOGRAPH_TYPE("MONOGRAPH_TYPE", "著作类型"),
    
    /**
     * 单位类型
     */
    UNIT_TYPE("UNIT_TYPE", "单位类型"),
    
    /**
     * 单位性质
     */
    UNIT_NATURE("UNIT_NATURE", "单位性质"),
    
    /**
     * 单位规模
     */
    UNIT_SCALE("UNIT_SCALE", "单位规模"),
    
    /**
     * 单位行业
     */
    UNIT_INDUSTRY("UNIT_INDUSTRY", "单位行业"),
    
    /**
     * 单位地区
     */
    UNIT_REGION("UNIT_REGION", "单位地区"),
    
    /**
     * 单位状态
     */
    UNIT_STATUS("UNIT_STATUS", "单位状态");

    /**
     * 参数类型编码
     */
    private final String code;
    
    /**
     * 参数类型名称
     */
    private final String name;

    ParamTypeEnum(String code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 根据编码获取枚举
     */
    public static ParamTypeEnum getByCode(String code) {
        for (ParamTypeEnum type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        return null;
    }
} 