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; } }