KpiPoolDetailVO.java 3.27 KB
package cn.fw.morax.domain.vo.kpi;

import cn.fw.morax.common.constant.Constant;
import cn.fw.morax.common.utils.PublicUtil;
import cn.fw.morax.domain.enums.KpiIgnoreCauseEnum;
import cn.fw.morax.domain.enums.StarLevelEnum;
import lombok.Data;

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

/**
 * @author : kurisu
 * @date : 2022-4-6
 * @desc : 绩效池
 */
@Data
public class KpiPoolDetailVO {
    /**
     * 主键id
     */
    private Long id;
    /**
     * 绩效组id
     */
    private Long kpiGroupId;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 用户名称
     */
    private String userName;
    /**
     * 岗位id
     */
    private Long postId;
    /**
     * 岗位名称
     */
    private String postName;
    /**
     * 门店id
     */
    private Long shopId;
    /**
     * 门店名称
     */
    private String shopName;
    /**
     * 真实总绩效得分
     */
    private BigDecimal realKpiScore;
    /**
     * 奖励绩效分
     */
    private BigDecimal rewardScore;
    /**
     * 惩罚绩效分
     */
    private BigDecimal punishScore;
    /**
     * 绩效总分
     */
    private BigDecimal totalScore;
    /**
     * 原始绩效得分(无奖惩分)
     */
    private BigDecimal originKpiScore;
    /**
     * 当月绩效得分率
     */
    private BigDecimal kpiScoreRatio;
    /**
     * 平均绩效得分率
     */
    private BigDecimal averageKpiScoreRatio;
    /**
     * 星级;1: A 2:B 3:C 4:D
     */
    private StarLevelEnum starLevel;
    /**
     * 实际星级;默认等于系统评定的星级,有调整的情况修改次字段
     */
    private StarLevelEnum actualStar;
    /**
     * D级撤销状态;是否撤销本次D级
     */
    private Boolean revoked;
    /**
     * 是否纳入绩效计算
     */
    private Boolean inclusion;
    /**
     * 不计入原因;枚举待定
     */
    private KpiIgnoreCauseEnum ignoreCause;
    /**
     * 不计入原因描述
     */
    private String ignoreCauseDesc;
    /**
     * 年份月度
     */
    private YearMonth monthly;
    /**
     * 固定的
     */
    private Boolean regular;
    /**
     * 集团id
     */
    private Long groupId;

    /**
     * 排名
     */
    private Integer rank;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;
    /**
     * 开始时间
     */
    private LocalDateTime endTime;

    /**
     * 是否有人员质量评测
     */
    private Boolean assess;

    /**
     * 近一年绩效情况
     */
    private List<KpiPoolDetailVO> kpis;

    /**
     * 当月绩效指标值
     */
    private List<KpiPoolIndicatorValueVO> kpiValues;

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

    /**
     * 处罚
     */
    private List<KpiRewardPointVO> punishments;

    /**
     * 转换为百分数展示
     */
    public void convertToPercent(){
        if (PublicUtil.isNotEmpty(this.getKpiScoreRatio())) {
            this.setKpiScoreRatio(this.getKpiScoreRatio().multiply(Constant.ONE_HUNDRED));
        }
        if (PublicUtil.isNotEmpty(this.getAverageKpiScoreRatio())) {
            this.setAverageKpiScoreRatio(this.getAverageKpiScoreRatio().multiply(Constant.ONE_HUNDRED));
        }
    }

}