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; /** *

* 考评奖惩阶梯 *

* * @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)); } } } }