weaver-hrm-salary/src/com/engine/salary/enums/UserStatusEnum.java

116 lines
3.3 KiB
Java
Raw Normal View History

2022-03-18 18:00:51 +08:00
package com.engine.salary.enums;
2022-05-24 09:14:26 +08:00
import com.engine.salary.entity.hrm.HrmStatus;
2022-04-07 20:05:58 +08:00
import java.util.*;
import java.util.stream.Collectors;
2022-04-01 14:13:04 +08:00
2022-03-18 18:00:51 +08:00
/**
* 人员状态
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
2022-03-18 18:00:51 +08:00
**/
public enum UserStatusEnum implements BaseEnum {
2022-03-18 18:00:51 +08:00
TRIAL(0, "试用", 1),
FORMAL(1, "正式", 1),
TEMPORARY(2, "临时", 1),
DELAY(3, "试用延期", 1),
FIRE(4, "解雇", 1),
DEPARTURE(5, "离职", 1),
RETIRED(6, "退休", 1),
INVALID(7, "无效", 1);
2022-03-18 18:00:51 +08:00
private Integer value;
private String defaultLabel;
private int labelId;
2022-03-18 18:00:51 +08:00
UserStatusEnum(Integer value, String defaultLabel, int labelId) {
2022-03-18 18:00:51 +08:00
this.value = value;
this.defaultLabel = defaultLabel;
this.labelId = labelId;
2022-03-18 18:00:51 +08:00
}
@Override
2022-03-18 18:00:51 +08:00
public Integer getValue() {
return value;
}
2022-04-01 13:50:24 +08:00
@Override
public String getDefaultLabel() {
return defaultLabel;
}
@Override
public Integer getLabelId() {
return labelId;
}
2022-04-01 13:50:24 +08:00
public static String getDefaultLabelByValue(Integer value) {
2022-04-01 14:13:04 +08:00
Optional<UserStatusEnum> optional = Arrays.stream(UserStatusEnum.values()).filter(r -> r.getValue().equals(value)).findFirst();
return optional.isPresent() ? optional.get().defaultLabel : "";
2022-04-01 13:50:24 +08:00
}
2022-04-07 20:05:58 +08:00
public static List<Map<String, String>> getList() {
2022-05-20 15:58:58 +08:00
return Arrays.stream(UserStatusEnum.values())
.filter(v -> v != INVALID)
.map(v -> {
Map<String, String> m = new HashMap();
m.put("id", v.value.toString());
m.put("content", v.defaultLabel);
2022-05-20 15:58:58 +08:00
return m;
}).collect(Collectors.toList());
2022-04-07 20:05:58 +08:00
}
2022-04-21 15:04:35 +08:00
2022-05-19 14:50:01 +08:00
/**
* 在职状态
*
* @return
*/
public static List<String> getNormalStatus() {
return Arrays.asList(TRIAL.getValue().toString(), FORMAL.getValue().toString(), TEMPORARY.getValue().toString(), DELAY.getValue().toString());
}
/**
2022-05-20 15:58:58 +08:00
* 离职状态
2022-05-19 14:50:01 +08:00
*
* @return
*/
public static List<String> getUnavailableStatus() {
return Arrays.asList(FIRE.getValue().toString(), DEPARTURE.getValue().toString(), RETIRED.getValue().toString());
}
/**
* 全部状态
*
* @return
*/
public static List<String> getAllStatus() {
return Arrays.asList(TRIAL.getValue().toString(), FORMAL.getValue().toString(), TEMPORARY.getValue().toString(), DELAY.getValue().toString(),FIRE.getValue().toString(), DEPARTURE.getValue().toString(), RETIRED.getValue().toString());
}
2022-05-20 15:58:58 +08:00
public static List<UserStatusEnum> getEffectiveList() {
return Arrays.stream(UserStatusEnum.values()).filter(v -> v != INVALID).collect(Collectors.toList());
}
2022-05-24 09:14:26 +08:00
public static List<HrmStatus> getHrmStatusList() {
return Arrays.stream(UserStatusEnum.values())
.filter(v -> v != INVALID)
.map(v -> HrmStatus.builder().id(v.value.toString()).name(v.defaultLabel).build()).collect(Collectors.toList());
2022-05-24 09:14:26 +08:00
}
2023-10-08 13:38:37 +08:00
public static UserStatusEnum parseByValue(Integer value) {
for (UserStatusEnum statusEnum : UserStatusEnum.values()) {
if (Objects.equals(statusEnum.getValue(), value)) {
return statusEnum;
}
}
return null;
}
2022-04-21 15:04:35 +08:00
2022-03-18 18:00:51 +08:00
}