EvalGroupRewardLaddersVO.java
2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package cn.fw.morax.domain.vo.eval;
import cn.fw.common.data.entity.BaseAuditableTimeEntity;
import cn.fw.morax.common.constant.Constant;
import cn.fw.morax.common.utils.PublicUtil;
import cn.fw.morax.domain.enums.*;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* <p>
* 考评奖惩阶梯
* </p>
*
* @author jiangchao
* @since 2022-12-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class EvalGroupRewardLaddersVO {
/**
* id
*/
private Long id;
/**
* 考评组指标条件id
*/
private Long evalGroupId;
/**
* 考评组奖励id
*/
private Long evalGroupRewardId;
/**
* 阶梯下限;大于等于
*/
private BigDecimal lower;
/**
* 阶梯上限;小于; 无上限的情况值为 2<<15
*/
private BigDecimal upper;
/**
* 金额
*/
private BigDecimal money;
/**
* 封顶金额/台
*/
private BigDecimal capMoney;
/**
* 命中
*/
private Boolean hit;
/**
* 排名顺序类型 1:正 2:负
*/
private RankOrderTypeEnum rankOrderType;
/**
* 转换为百分数展示
*/
public void processPercent(EvalRewardCalMethodEnum calMethod, RankTypeEnum rankType, DataTypeEnum laddersType){
if (EvalRewardCalMethodEnum.RANK.equals(calMethod) && RankTypeEnum.PERCENT.equals(rankType)) {
this.setUpper(this.getUpper().multiply(Constant.ONE_HUNDRED));
this.setLower(this.getLower().multiply(Constant.ONE_HUNDRED));
}
if (EvalRewardCalMethodEnum.LADDER.equals(calMethod) || EvalRewardCalMethodEnum.LADDER_DOUBLE.equals(calMethod) ) {
if (PublicUtil.isNotEmpty(laddersType) && DataTypeEnum.RATIO.equals(laddersType)) {
this.setUpper(this.getUpper().multiply(Constant.ONE_HUNDRED));
this.setLower(this.getLower().multiply(Constant.ONE_HUNDRED));
}
}
}
}