EvalUserPoolVO.java 3.15 KB
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.EvalTypeEnum;
import cn.fw.morax.domain.enums.KpiIgnoreCauseEnum;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.YearMonth;
import java.util.List;

/**
 * <p>
 * 考评池
 * </p>
 *
 * @author jiangchao
 * @since 2022-12-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class EvalUserPoolVO {

    private static final long serialVersionUID = 1L;

    /**
     * 考评池id
     */
    private Long id;

    /**
     * 考评类型; 1:活动考评 2:其他考评
     */
    private EvalTypeEnum evalType;

    /**
     * 考评组编码
     */
    private String egc;


    /**
     * 考评编码
     */
    private String evalName;


    /**
     * 考评组编码
     */
    private String evalGroupName;

    /**
     * 考评id
     */
    private Long evalId;
    /**
     * 考评组id
     */
    private Long evalGroupId;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 岗位id
     */
    private Long postId;

    /**
     * 岗位名称
     */
    private String postName;

    /**
     * 门店id
     */
    private Long shopId;

    /**
     * 门店名称
     */
    private String shopName;

    /**
     * 社保公积金门店id
     */
    private Long fundShopId;

    /**
     * 社保公积金门店名称
     */
    private String fundShopName;

    /**
     * 考评奖惩
     */
    private BigDecimal reward;

    /**
     * 本月考评得分(最终得分)
     */
    private BigDecimal score;
    /**
     * 原始考评得分(无奖惩分)
     */
    private BigDecimal originScore;

    /**
     * 奖励绩效分
     */
    private BigDecimal rewardScore;
    /**
     * 惩罚绩效分
     */
    private BigDecimal punishScore;

    /**
     * 考评得分率
     */
    private BigDecimal scoreRatio;

    /**
     * 绩效总分
     */
    private BigDecimal totalScore;

    /**
     * 考评得分率(格式化)
     */
    private String scoreRatioFormat;

    /**
     * 月度
     */
    private YearMonth monthly;

    /**
     * 数据日期
     */
    private LocalDate dataDate;

    /**
     * 固定的
     */
    private Boolean regular;

    /**
     * 集团id
     */
    private Long groupId;

    /**
     * 是否纳入考评计算
     */
    private Boolean inclusion;
    /**
     * 不计入原因;枚举待定
     */
    private KpiIgnoreCauseEnum ignoreCause;

    /**
     * 指标
     */
    private List<EvalPoolIndicatorDetailVO> indicators;

    /**
     * 奖励
     */
    private List<EvalPoolRewardDetailVO> rewards;

    public void convertScoreRatio() {
        if (PublicUtil.isNotEmpty(this.getScoreRatio())) {
            this.setScoreRatio(this.getScoreRatio().multiply(Constant.ONE_HUNDRED));
        }
    }
}