EvalGroupRewardLaddersDTO.java 1.78 KB
package cn.fw.morax.domain.dto.eval;

import cn.fw.common.data.entity.BaseAuditableTimeEntity;
import cn.fw.morax.common.utils.PublicUtil;
import cn.fw.morax.domain.dto.AbstractLaddersDto;
import cn.fw.morax.domain.dto.kpi.KpiGroupIndicatorLaddersDTO;
import cn.fw.morax.domain.enums.RankOrderTypeEnum;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * <p>
 * 考评奖惩阶梯
 * </p>
 *
 * @author jiangchao
 * @since 2022-12-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class EvalGroupRewardLaddersDTO extends AbstractLaddersDto implements Comparable<EvalGroupRewardLaddersDTO>{

    private static final long serialVersionUID = 1L;


//    /**
//     * 阶梯下限;大于等于
//     */
//    private BigDecimal lower;
//
//    /**
//     * 阶梯上限;小于; 无上限的情况值为 2<<15
//     */
//    private BigDecimal upper;

    /**
     * 排名顺序类型 1:正  2:负
     */
    private RankOrderTypeEnum rankOrderType;

    /**
     * 金额
     */
    @NotNull(message = "金额不能为空")
    private BigDecimal money;

    /**
     * 封顶金额/台
     */
    private BigDecimal capMoney;

    /**
     * 正序排列
     *
     * @param other
     * @return
     */
    @Override
    public int compareTo(EvalGroupRewardLaddersDTO other) {
        if (PublicUtil.isEmpty(this.upper) || PublicUtil.isEmpty(other.getUpper())) {
            return this.lower.compareTo(other.getLower());
        } else {
            return this.upper.compareTo(other.getUpper());
        }
    }

    @Override
    public String getBusinessName() {
        return "奖励项阶梯";
    }

}