package foundation.org;
|
|
import foundation.util.Util;
|
|
public class PositionMeta {
|
|
|
public static enum Level {
|
SalesDirector(1, "销售总监", "Actor-Sales-Director"), SalesRegionDirector(2, "大区经理", "Actor-Sales-Leader"), SalesAreaManager(3, "区域经理", "Actor-Sales-Leader"), Sales(4, "销售工程师", "Actor-Sales-Rep");
|
|
private String title;
|
private int levelNo;
|
private String actorCode;
|
|
private Level(int levelNo, String title, String actorCode) {
|
this.levelNo = levelNo;
|
this.title = title;
|
this.actorCode = actorCode;
|
}
|
|
public String getTitle() {
|
return title;
|
}
|
|
public static Level parse(String value) {
|
if (Util.isEmpty(value)) {
|
return Sales;
|
}
|
|
if ("SalesDirector".equalsIgnoreCase(value)) {
|
return SalesDirector;
|
}
|
else if ("SalesRegionDirector".equalsIgnoreCase(value)) {
|
return SalesRegionDirector;
|
}
|
else if ("SalesAreaManager".equalsIgnoreCase(value) || "SalesRegionManage".equalsIgnoreCase(value) ) {
|
return SalesAreaManager;
|
}
|
else if ("SalesHierarchy".equalsIgnoreCase(value)) {
|
return Sales;
|
}
|
|
return Sales;
|
}
|
|
public boolean isUnder(Level level) {
|
return levelNo < level.getLevelNo();
|
}
|
|
public boolean isSalesDirector() {
|
return this == SalesDirector;
|
}
|
|
public boolean isSalesRegionDirector() {
|
return this == SalesRegionDirector;
|
}
|
|
public boolean isSalesAreaManager() {
|
return this == SalesAreaManager;
|
}
|
|
public boolean isSales() {
|
return this == Sales;
|
}
|
|
public int getLevelNo() {
|
return levelNo;
|
}
|
|
public String getActorCode() {
|
return actorCode;
|
}
|
}
|
|
public PositionMeta() {
|
level = Level.Sales;
|
}
|
|
public PositionMeta(String levelCode) {
|
level = Level.parse(levelCode);
|
}
|
|
public void load(String levelCode) {
|
level = Level.parse(levelCode);
|
}
|
|
public boolean isSalesDirector() {
|
return level.isSalesDirector();
|
}
|
|
public boolean isSalesRegionDirector() {
|
return level.isSalesRegionDirector();
|
}
|
|
public boolean isSales() {
|
return level.isSales();
|
}
|
|
public String getActorCode() {
|
return level.getActorCode();
|
}
|
|
private Level level;
|
}
|