PiLotTypeEnum.java
package com.mycim.valueobject.consts;
import com.mycim.framework.utils.lang.collections.MapUtils;
import java.util.*;
/**
* @author songpy
* @version 1.0.0
* @date 2021/8/18
**/
public enum PiLotTypeEnum {
/**
* Idle Time Type
*/
IDLETIME(1, "byIdleTime"),
/**
* PM Type
*/
PM(2, "byPM"),
/**
* Count Type
*/
COUNT(3, "byCount"),
/**
* Recipe Group Change Type
*/
RECIPEGROUPCHANGE(4, "byRC");
private String desc;
private Integer priority;
PiLotTypeEnum(int priority, String desc) {
this.desc = desc;
this.priority = priority;
}
public static List<Map<String, String>> toMapList() {
List<Map<String, String>> list = new ArrayList<>();
for (PiLotTypeEnum element : PiLotTypeEnum.values()) {
Map<String, String> map = new HashMap<>();
map.put("key", element.toString());
map.put("value", element.getDesc());
map.put("priority", element.getPriority().toString());
list.add(map);
}
Collections.sort(list, new Comparator<Map<String, String>>() {
@Override
public int compare(Map<String, String> o1, Map<String, String> o2) {
int o1Seq = MapUtils.getIntValue(o1, "priority");
int o2Seq = MapUtils.getIntValue(o2, "priority");
return o1Seq - o2Seq;
}
});
return list;
}
public String getDesc() {
return desc;
}
public Integer getPriority() {
return priority;
}
}