package com.dayou.enums;

/**
 * 类说明：
 *
 * @author: wucl
 * @since: 2023/3/3
 * created with IntelliJ IDEA.
 */
public enum GlobalConfigEnum implements CodeMsgEnumInterface<String,CodeMsgEnumInterface<?,?>[]>{

    FINANCE("FINANCE",Finance.values(),"财务配置"),
    SYS("SYS",Sys.values(),"系统配置"),
    DEPARTMENT_TURNS("DEPARTMENT_TURNS",DepartmentTurns.values(),"部门轮单"),
    LAND_RISK_FTL("LAND_RISK_FTL",LandRiskFTL.values(),"土规部社会稳定性风险评估报告模板配置"),
    LAND_CITY_PRICE("LAND_CITY_PRICE",LandCityPrice.values(),"土规部城区土地定级与基准地价技术报告模板配置"),
    COMMISSION_MAJOR_MARKET_DEPARTMENT("COMMISSION_MAJOR_MARKET_DEPARTMENT",CommissionMajorMarketDepartment.values(),"大中型市场提成部门"),
    COMMISSION_MAJOR_EVALUATE_DEPARTMENT("COMMISSION_MAJOR_EVALUATE_DEPARTMENT",CommissionMajorEvaluateDepartment.values(),"大中型评估提成部门"),
    COMMISSION_ASSET_MARKET_DEPARTMENT("COMMISSION_ASSET_MARKET_DEPARTMENT",CommissionMajorMarketDepartment.values(),"资产市场提成部门"),
    COMMISSION_ASSET_EVALUATE_DEPARTMENT("COMMISSION_ASSET_EVALUATE_DEPARTMENT",CommissionMajorEvaluateDepartment.values(),"资产评估提成部门")
    ;

    private String key;

    private CodeMsgEnumInterface[] filedValues;

    private String desc;

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Override
    public String getCode() {
        return key;
    }

    @Override
    public CodeMsgEnumInterface[] getMsg() {
        return filedValues;
    }

    GlobalConfigEnum(String key, CodeMsgEnumInterface[] filedValues, String desc) {
        this.key = key;
        this.filedValues = filedValues;
        this.desc = desc;
    }

    public enum Sys implements CodeMsgEnumInterface<String,String>{


        ;
        private String filed;

        private String value;

        private String desc;

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

        @Override
        public String getCode() {
            return filed;
        }

        @Override
        public String getMsg() {
            return desc;
        }
    }
    public enum Finance implements CodeMsgEnumInterface<String,String>{

//        NON_MARKETER_MONTH_BROKERAGE("NON_MARKETER_MONTH_BROKERAGE",null,"土规部非市场人员每月固定预提金额"),
//
//        MARKETER_BROKERAGE_PERCENTAGE("MARKETER_BROKERAGE_PERCENTAGE",null,"土规部客户经理预提比例"),
//
//        PARTICIPANT_BROKERAGE_PERCENTAGE("PARTICIPANT_BROKERAGE_PERCENTAGE",null,"土规部参与项目整体提成比例"),
//
//        MONTH_OF_YEAR("MONTH_OF_YEAR",null,"系统自定义一年月份个数")
        ;

        private String filed;

        private String value;

        private String desc;

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

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }

        @Override
        public String getCode() {
            return filed;
        }

        @Override
        public String getMsg() {
            return desc;
        }
    }

    public enum LandRiskFTL implements CodeMsgEnumInterface<String,String>{

        DOC_SRC_PARENT("DOC_SRC_PARENT",null,"文档父类"),
        DOC_SRC_LOCATION_PRE("DOC_SRC_LOCATION_PRE",null,"文档本地前缀"),
        NEXT_PART_ID("NEXT_PART_ID",null,"下一个父类"),
        SHAPE_ID_PREX("SHAPE_ID_PREX",null,"文档中shapeid前缀"),
        SP_ID_PREX("SP_ID_PREX",null,"文档中spid的前缀"),
        TYPE_ID("TYPE_ID",null,"类型ID"),
        FTL_PATH("FTL_PATH",null,"ftl文件路径"),
        FTL_NAME("FTL_NAME",null,"ftl文件名字")

        ;

        private String filed;

        private String value;

        private String desc;

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

        @Override
        public String getCode() {
            return filed;
        }

        @Override
        public String getMsg() {
            return desc;
        }
    }

    public enum LandCityPrice implements CodeMsgEnumInterface<String,String>{
        DOC_SRC_PARENT("DOC_SRC_PARENT",null,"文档父类"),
        DOC_SRC_LOCATION_PRE("DOC_SRC_LOCATION_PRE",null,"文档本地前缀"),
        NEXT_PART_ID("NEXT_PART_ID",null,"下一个父类"),
        SHAPE_ID_PREX("SHAPE_ID_PREX",null,"文档中shapeid前缀"),
        SP_ID_PREX("SP_ID_PREX",null,"文档中spid的前缀"),
        TYPE_ID("TYPE_ID",null,"类型ID"),
        FTL_PATH("FTL_PATH",null,"ftl文件路径"),
        FTL_NAME("FTL_NAME",null,"ftl文件名字")

        ;

        private String filed;

        private String value;

        private String desc;

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

        @Override
        public String getCode() {
            return filed;
        }

        @Override
        public String getMsg() {
            return desc;
        }
    }

    public enum DepartmentTurns  implements CodeMsgEnumInterface<String,String>{

        MAJOR_BUSINESS("MAJOR_BUSINESS",null,"大中型业务轮单部门下标"),
        INWARD_STAFF_ROLL("INWARD_STAFF_ROLL",null,"个贷内业轮单"),
        ASSET_BUSINESS("ASSET_BUSINESS",null,"资产业务轮单部门下标")
        ;

        private String filed;

        private String value;

        private String desc;

        DepartmentTurns (String filed, String value, String desc) {
            this.filed = filed;
            this.value = value;
            this.desc = desc;
        }
        @Override
        public String getCode() {
            return filed;
        }

        @Override
        public String getMsg() {
            return desc;
        }

        public String getValue() {
            return value;
        }
    }

    public enum CommissionMajorMarketDepartment implements CodeMsgEnumInterface<String,String>{

        MAJOR_MARKET_1("MAJOR_MARKET_1",null,"市场一部"),
        MAJOR_MARKET_2("MAJOR_MARKET_2",null,"市场二部"),
        MAJOR_MARKET_3("MAJOR_MARKET_3",null,"评估一部"),
        MAJOR_MARKET_4("MAJOR_MARKET_4",null,"评估二部"),
        MAJOR_MARKET_5("MAJOR_MARKET_5",null,"评估三部"),
        ;

        private String filed;

        private String value;

        private String desc;

        CommissionMajorMarketDepartment (String filed, String value, String desc) {
            this.filed = filed;
            this.value = value;
            this.desc = desc;
        }
        @Override
        public String getCode() {
            return filed;
        }

        @Override
        public String getMsg() {
            return desc;
        }

        public String getValue() {
            return value;
        }
    }

    public enum CommissionMajorEvaluateDepartment implements CodeMsgEnumInterface<String,String>{

        MAJOR_EVALUATE_1("MAJOR_EVALUATE_1",null,"评估一部"),
        MAJOR_EVALUATE_2("MAJOR_EVALUATE_2",null,"评估二部"),
        MAJOR_EVALUATE_3("MAJOR_EVALUATE_3",null,"评估三部"),
        ;

        private String filed;

        private String value;

        private String desc;

        CommissionMajorEvaluateDepartment (String filed, String value, String desc) {
            this.filed = filed;
            this.value = value;
            this.desc = desc;
        }
        @Override
        public String getCode() {
            return filed;
        }

        @Override
        public String getMsg() {
            return desc;
        }

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