dangsn
2024-06-06 33321f5486fd586fda6fd3f46b7e71754fede28b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.vci.starter.web.enumpck;
 
import com.vci.starter.web.annotation.VciEnum;
 
/**
 * 属性的类型
 * @author weidy
 * @date 2019/10/10 4:23 PM
 */
@VciEnum(name = "VciFieldType",text = "属性类型")
public  enum VciFieldTypeEnum {
    /**
     * 字符串
     */
    VTString,
    /**
     * 整形
     */
    VTInteger,
    /**
     * 长整形
     */
    VTLong,
    /**
     * 金额/双精度
     */
    VTDouble,
    /**
     * 布尔型
     */
    VTBoolean,
    /**
     * 日期
     */
    VTDate,
    /**
     * 日期时间
     */
    VTDateTime,
    /**
     * 时间
     */
    VTTime,
    /**
     * 文件
     */
    VTFilePath,
    /**
     * 超长文本
     */
    VTClob;
 
    /**
     * 根据名称获取对应的枚举值
     * @param text 名称
     * @return 枚举值
     */
    public static String getValueByText(String text){
        if(text == null || text.trim().length() == 0){
            return "";
        }else{
            if("布尔型".equalsIgnoreCase(text)){
                return VTBoolean.name();
            }else if("长文本".equalsIgnoreCase(text)){
                return VTClob.name();
            }else if("日期".equalsIgnoreCase(text)){
                return VTDate.name();
            }else if("日期时间".equalsIgnoreCase(text)){
                return VTDateTime.name();
            }else if("时间".equalsIgnoreCase(text)){
                return VTTime.name();
            }else if("长整型".equalsIgnoreCase(text)){
                return VTLong.name();
            }else if("金额/双精度".equalsIgnoreCase(text)){
                return VTDouble.name();
            }else if("整形".equalsIgnoreCase(text)){
                return VTInteger.name();
            }else if("文件".equalsIgnoreCase(text)){
                return VTFilePath.name();
            }else{
                return VTString.name();
            }
        }
    }
 
    /**
     * 根据枚举值获取名称
     * @param value 枚举值
     * @return 名称
     */
    public static String getTextByValue(String value){
        VciFieldTypeEnum wenum = forValue(value);
        if(wenum == null){
            return  "";
        }
        switch (wenum){
            case VTBoolean:
                return "布尔型";
            case VTClob:
                return "长文本";
            case VTDate:
                return "日期";
            case VTDateTime:
                return "日期时间";
            case VTTime:
                return "时间";
            case VTLong:
                return "长整型";
            case VTDouble:
                return "金额/双精度";
            case VTInteger:
                return "整形";
            case VTFilePath:
                return "文件";
            default:
                return "字符串";
        }
    }
 
    /**
     * 根据枚举值获取枚举对象
     * @param value 枚举值
     * @return 对应的枚举对象,不匹配的时候返回null
     */
    public static VciFieldTypeEnum forValue(String value){
        for(VciFieldTypeEnum wenum : VciFieldTypeEnum.values()){
            if(wenum.name().equalsIgnoreCase(value)){
                return wenum;
            }
        }
        return null;
    }
 
}