From c783d9119c7c19d3e56cf33d9d83f951e390e8cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=BF=83=E6=B4=81?= Date: Thu, 27 Jun 2019 14:42:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9F=A5=E5=87=BA=E4=BA=86=E7=8A=B6=E6=80=81=E4=B8=BA?= =?UTF-8?q?30=E7=9A=84=E4=BB=BB=E5=8A=A1+=E6=B5=81=E7=A8=8B=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=BB=84=E4=BB=B6execute=E6=96=B9=E6=B3=95=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E4=BA=8B=E5=8A=A1=E7=BA=A7=E5=88=AB+=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E6=B7=BB=E5=8A=A0=E6=A0=B9=E6=8D=AE=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E5=90=8D=E6=9F=A5=E6=89=BE=E6=9E=9A=E4=B8=BE=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E7=9A=84=E9=9D=99=E6=80=81=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/WmsEnumUtil.java | 60 +++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java index 26be640..da1c060 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java @@ -2,6 +2,12 @@ package cn.estsh.i3plus.pojo.base.enumutil; import com.fasterxml.jackson.annotation.JsonFormat; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * @Description : * @Reference : @@ -2564,7 +2570,7 @@ public class WmsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum WMS_TRANS_QUAN_STATUS { - CREATE(1, "创建"), SUCCESS(10, "处理成功"),FAIL(30,"处理失败"); + CREATE(1, "创建"), SUCCESS(10, "处理成功"), FAIL(30, "处理失败"); private int value; private String description; @@ -2699,4 +2705,56 @@ public class WmsEnumUtil { return description; } } + + public static Map getEnumByName(String enumName) throws Exception{ + Class innerClazz[] = WmsEnumUtil.class.getDeclaredClasses();// 获取常量类中的所有内部类 + Class clazz; + Enum[] enumConstants; + + Map enumMap;// 枚举类 + List> values;// 枚举实例【enumName:{“”:},{“”:},{“”:}】 + Map value;// 枚举实例属性 + + Method getValue; + Method getCode; + Method getDescription; + + // 遍历内部类 + String simpleName;//内部类的类名 + for (Class class1 : innerClazz) { + //获取内部内的类名 + simpleName = class1.getSimpleName(); + if (simpleName.equals(enumName)) { + // 判断类是不是枚举类 + clazz = (Class) Class.forName("cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil$" + simpleName); + + // 枚举类方法初始化 + getCode = null; + try { + getCode = clazz.getMethod("getCode"); + } catch (NoSuchMethodException e) { + } + getValue = clazz.getMethod("getValue"); + getDescription = clazz.getMethod("getDescription"); + + // 获取所有枚举实例 + enumConstants = clazz.getEnumConstants(); + enumMap = new HashMap<>(); + values = new ArrayList<>(); + for (Enum enum1 : enumConstants) { + value = new HashMap<>(); + value.put("value", getValue.invoke(enum1)); + if (getCode != null) { + value.put("code", getCode.invoke(enum1)); + } + value.put("description", getDescription.invoke(enum1)); + values.add(value); + } + enumMap.put("enumName", clazz.getSimpleName()); + enumMap.put("valuesList", values); + return enumMap; + } + } + return null; + } } \ No newline at end of file