package com.vci.ubcs.code.algorithm;
|
import com.vci.ubcs.starter.annotation.VciEnum;
|
import com.vci.ubcs.starter.web.enumpck.BaseEnum;
|
import com.vci.ubcs.starter.web.util.VciBaseUtil;
|
|
/***
|
* 自定义流水枚举
|
*/
|
@VciEnum(name ="customSerialEnum",text = "自定义流水类型",description = "")
|
public enum CustomSerialEnum implements BaseEnum {
|
|
/**
|
* 编辑中
|
*/
|
ROMAN("custom_serial_roman","罗马流水");
|
|
/**
|
* 枚举的值
|
*/
|
private String value;
|
|
/**
|
* 枚举显示文本
|
*/
|
private String text;
|
|
/**
|
* 构造函数
|
*
|
* @param value 值
|
* @param text 显示文本
|
*/
|
private CustomSerialEnum(String value, String text) {
|
this.value = value;
|
this.text = 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;
|
}
|
|
|
|
/**
|
* 根据枚举类型判断应该返回什么样类型的流水
|
* 暂时加了罗马类型,如果后续有其他流水类型则需要在此处理
|
* @return 枚举值
|
*/
|
public static Double getDoubleCustomSerialValue(String value,String customCodeSerialType) {
|
Double serialValue=null;
|
for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
|
if (wenum.getValue().equalsIgnoreCase(customCodeSerialType)) {//如果为罗马
|
int newValue = VciBaseUtil.convertRomanToArabic(value);
|
serialValue = new Double(newValue);
|
break;
|
} else {
|
serialValue=Double.parseDouble(value);
|
break;
|
}
|
}
|
return serialValue;
|
}
|
/**
|
* 根据枚举类型判断应该返回什么样类型的流水
|
* 暂时加了罗马类型,如果后续有其他流水类型则需要在此处理
|
* @return 枚举值
|
*/
|
public static String getStringCustomSerialValue(Double value,String customCodeSerialType) {
|
String serialValue=String.valueOf(value);
|
for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
|
if (wenum.getValue().equalsIgnoreCase(customCodeSerialType)) {//如果为罗马
|
String newValue=VciBaseUtil.convertArabicToRoman(value.intValue());
|
serialValue=newValue;
|
break;
|
}else{
|
break;
|
}
|
}
|
return serialValue;
|
}
|
|
|
/**
|
* 根据名称获取对应的枚举值
|
*
|
* @param text 名称
|
* @return 枚举值
|
*/
|
public static String getValueByText(String text) {
|
for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
|
if (wenum.getText().equalsIgnoreCase(text)) {
|
return wenum.getValue();
|
}
|
}
|
return "";
|
}
|
|
/**
|
* 根据枚举值获取名称
|
*
|
* @param value 枚举值
|
* @return 名称
|
*/
|
public static String getTextByValue(String value) {
|
for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
|
if (wenum.getValue().equalsIgnoreCase(value)) {
|
return wenum.getText();
|
}
|
}
|
return "";
|
}
|
|
/**
|
* 根据枚举值获取枚举对象
|
*
|
* @param value 枚举值
|
* @return 枚举对象,不存在时候返回null
|
*/
|
public static CustomSerialEnum forValue(String value) {
|
for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
|
if (wenum.getValue().equalsIgnoreCase(value)) {
|
return wenum;
|
}
|
}
|
return null;
|
}
|
|
}
|