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
|
|
|
/**
|
2022-07-27 16:56:13 +08:00
|
|
|
* 人员状态
|
|
|
|
|
* <p>Copyright: Copyright (c) 2022</p>
|
|
|
|
|
* <p>Company: 泛微软件</p>
|
|
|
|
|
*
|
|
|
|
|
* @author qiantao
|
|
|
|
|
* @version 1.0
|
2022-03-18 18:00:51 +08:00
|
|
|
**/
|
2022-07-27 16:56:13 +08:00
|
|
|
public enum UserStatusEnum implements BaseEnum {
|
2022-03-18 18:00:51 +08:00
|
|
|
|
2022-07-27 16:56:13 +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;
|
2022-07-27 16:56:13 +08:00
|
|
|
private String defaultLabel;
|
|
|
|
|
private int labelId;
|
2022-03-18 18:00:51 +08:00
|
|
|
|
|
|
|
|
|
2022-07-27 16:56:13 +08:00
|
|
|
UserStatusEnum(Integer value, String defaultLabel, int labelId) {
|
2022-03-18 18:00:51 +08:00
|
|
|
this.value = value;
|
2022-07-27 16:56:13 +08:00
|
|
|
this.defaultLabel = defaultLabel;
|
|
|
|
|
this.labelId = labelId;
|
2022-03-18 18:00:51 +08:00
|
|
|
}
|
|
|
|
|
|
2022-07-27 16:56:13 +08:00
|
|
|
@Override
|
2022-03-18 18:00:51 +08:00
|
|
|
public Integer getValue() {
|
|
|
|
|
return value;
|
|
|
|
|
}
|
2022-04-01 13:50:24 +08:00
|
|
|
|
2022-07-27 16:56:13 +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();
|
2022-07-27 16:56:13 +08:00
|
|
|
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());
|
2022-07-27 16:56:13 +08:00
|
|
|
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());
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-08 17:21:38 +08:00
|
|
|
/**
|
|
|
|
|
* 全部状态
|
|
|
|
|
*
|
|
|
|
|
* @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)
|
2022-07-27 16:56:13 +08:00
|
|
|
.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
|
|
|
}
|