ludc
2024-09-13 d79ba1d249da7e4a347107b06be2a2add00fad6e
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
package com.vci.web.enumpck;
 
import com.vci.pagemodel.KeyValue;
import com.vci.starter.web.enumpck.BaseEnum;
import com.vci.starter.web.enumpck.VciFieldTypeEnum;
 
import java.util.ArrayList;
import java.util.List;
 
public enum ItemTypeEnum implements BaseEnum {
    TEXT("text","单行文本框"),
    TEXTBTN("textbtn","文本按钮框"),
    TEXTAREA("textarea","多行文本框"),
    RICHTEXT("richtext","富文本框"),
    NUMBER("number","数字输入框"),
    PASSWORD("password","密码框"),
    RADIO("radio","单选按钮"),
    CHECKBOX("checkbox","多选按钮"),
    SELECT("select","下拉菜单"),
    MULTISELECT("multiselect","多选下拉菜单"),
    DATE("date","日期输入框"),
    TIME("time","时间输入框"),
    DATETIME("datetime","日期时间输入框"),
    FILE("file","文件上传"),
    MULTIFILE("multiFile","多文件上传"),
    CUSTOM("custom","自定义"),
    CUSTOMFORM("customform","自定义表单"),
    HIDDEN("hidden","隐藏或普通文字"),
    WEBEDITOR("webeditor","Web编辑器"),
    SPECIALCHARACTER("specialCharacter","特殊字符");
 
 
 
    /**
     * 枚举的值
     */
    private String value;
 
    /**
     * 枚举显示文本
     */
    private String text;
 
    /**
     * 获取枚举值
     *
     * @return 枚举值
     */
    @Override
    public String getValue() {
        return value;
    }
 
    /**
     * 设置枚举值
     *
     * @param value 枚举值
     */
    public void setValue(String value) {
        this.value = value;
    }
 
    /**
     * 获取枚举显示文本
     *
     * @return 显示文本
     */
    @Override
    public String getText() {
        return text;
    }
 
    /**
     * 设置显示文本
     *
     * @param text 显示文本
     */
    public void setText(String text) {
        this.text = text;
    }
    ItemTypeEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
 
 
    /**
     * 根据名称获取对应的枚举值
     *
     * @param text 名称
     * @return 枚举值
     */
    public static String getValueByText(String text) {
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
 
    /**
     * 根据枚举值获取名称
     *
     * @param value 枚举值
     * @return 名称
     */
    public static String getTextByValue(String value) {
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * 根据枚举值获取枚举对象
     *
     * @param value 枚举值
     * @return 枚举对象,不存在时候返回null
     */
    public static ItemTypeEnum forValue(String value) {
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
    /**
     * 根据枚举值获取名称
     *
     * @return 名称
     */
    public static List<KeyValue> getEnumAll() {
        List<KeyValue> enumDataList=new ArrayList<>();
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            KeyValue enumData=new KeyValue();
            enumData.setKey(wenum.value);
            enumData.setValue(wenum.text);
            enumDataList.add(enumData);
        }
        return enumDataList;
    }
 
    /***
     *根据属性类型获取UI属性类型(文本)
     * @param key
     * @return
     */
    public static String convertAttributeTypeTOUITypeTextByValue(String key,boolean isText){
        String value=ItemTypeEnum.TEXT.getValue();
        ItemTypeEnum itemTypeEnum=null;
        if(ControlAttributeType.VTInteger.equals(key)||
           ControlAttributeType.VTDouble.equals(key)
        ){
            value = ItemTypeEnum.NUMBER.getValue();
        }
        else if (ControlAttributeType.VTNote.equals(key)) {// textarea类型
            value = ItemTypeEnum.TEXTAREA.getValue();
        }// 日起类型
        else if (ControlAttributeType.VTDate.equals(key)) {//日期
            value = ItemTypeEnum.DATE.getValue();
        }else if(ControlAttributeType.VTDateTime.equals(key)){//日期时间
            value = ItemTypeEnum.DATETIME.getValue();
        }else  if( ControlAttributeType.VTTime.equals(key)){//时间
            value = ItemTypeEnum.TIME.getValue();
        }
        else  if( ControlAttributeType.canzhao.equals(key)){//参照
            value = ItemTypeEnum.TEXT.getValue();
        }
        else  if( ControlAttributeType.VTBoolean.equals(key)){//boolean
            value = ItemTypeEnum.CHECKBOX.getValue();
        }else  if( ControlAttributeType.VTFilePath.equals(key)){//文件
            value = ItemTypeEnum.FILE.getValue();
        } else {
            value = ItemTypeEnum.TEXT.getValue();
        }
        itemTypeEnum = forValue(value);
        if(itemTypeEnum==null){
            return "";
        }else {
            if (isText) {
                value = itemTypeEnum.getText();
            } else {
                value = itemTypeEnum.getValue();
            }
        }
        return value;
    }
 
    /***
     *根据属性类型获取UI属性类型(文本)
     * @param key
     * @return
     */
    public static String convertAttributeTypeTOUITypeValueByText(String key){
        String value=ItemTypeEnum.TEXT.getValue();
        if(ControlAttributeType.VTInteger.equals(key)||
                ControlAttributeType.VTDouble.equals(key)
        ){
            value = ItemTypeEnum.NUMBER.getValue();
        }
        else if (ControlAttributeType.VTNote.equals(key)) {// textarea类型
            value = ItemTypeEnum.TEXTAREA.getValue();
        }// 日起类型
        else if (ControlAttributeType.VTDate.equals(key)) {//日期
            value = ItemTypeEnum.DATE.getValue();
        }else if(ControlAttributeType.VTDateTime.equals(key)){//日期时间
            value = ItemTypeEnum.DATETIME.getValue();
        }else  if( ControlAttributeType.VTTime.equals(key)){//时间
            value = ItemTypeEnum.TIME.getValue();
        }
        else  if( ControlAttributeType.canzhao.equals(key)){//参照
            value = ItemTypeEnum.TEXT.getValue();
        }
        else  if( ControlAttributeType.VTBoolean.equals(key)){//boolean
            value = ItemTypeEnum.CHECKBOX.getValue();
        }else  if( ControlAttributeType.VTFilePath.equals(key)){//文件
            value = ItemTypeEnum.FILE.getValue();
        } else {
            value = ItemTypeEnum.TEXT.getValue();
        }
        value= getTextByValue(value);
        return value;
    }
 
}