package cn.fw.morax.domain.vo.eval; 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 lombok.Data; import lombok.EqualsAndHashCode; import javax.swing.plaf.PanelUI; import javax.validation.constraints.NotNull; import java.math.BigDecimal; /** *

* 考评组指标参数 *

* * @author jiangchao * @since 2022-12-09 */ @Data @EqualsAndHashCode(callSuper = false) public class EvalGroupIndicatorParamVO { /** * id */ private Long id; /** * 考评组配置id */ private Long evalGroupId; /** * 考评组指标id */ private Long evalGroupIndicatorId; /** * 条件类型(1.台阶条件,2,提成条件) */ private ParamTypeEnum paramType; /** * 数据类型;1:台数 2:百分比 3:金额 */ private DataTypeEnum dataType; /** * 指标类型(1.指标,2,考评指标) */ private IndicatorCodeTypeEnum codeType; /** * 指标编码 */ private String code; /** * 指标库名称 */ private String name; /** * 占比 */ private BigDecimal proportion; /** * 是否封顶 */ private Boolean cap; /** * 目标计算类型;1: 目标值计算 2:最低要求计算 */ private TargetCalcTypeEnum targetCalcType; /** * 绩效目标值类型; 1:无 2:百分比 3:金额 4:台数 */ private TargetTypeEnum targetType; /** * 目标值 */ private BigDecimal targetValue; /** * 指标值 */ private BigDecimal indicatorValue; /** * 达成目标 */ private BigDecimal reachValue; /** * 额外达成目标 */ private BigDecimal extraReachValue; /** * 考评使用目标; 1:无目标 2:第一目标 3:额外目标值 */ private EvalUseTargetEnum useTarget; /** * 时间进度目标值 */ // private BigDecimal timeScheduleTargetValue; /** * 目标计算类型;1: 目标值计算 2:最低要求计算 3:阶段目标 4:时间进度 */ private TargetCalcTypeEnum extraTargetCalcType; /** * 绩效目标值类型; 1:无 2:百分比 3:金额 4:台数 */ private TargetTypeEnum extraTargetType; /** * 目标值 */ private BigDecimal extraTargetValue; /** * 处理百分数 */ public void processPercent() { this.setProportion(this.getProportion().multiply(Constant.ONE_HUNDRED)); if (PublicUtil.isNotEmpty(this.getTargetValue()) && PublicUtil.isNotEmpty(this.getTargetType()) && TargetTypeEnum.RATIO.equals(this.getTargetType())) { this.setTargetValue(this.getTargetValue().multiply(Constant.ONE_HUNDRED)); } if (PublicUtil.isNotEmpty(this.getExtraTargetValue()) && PublicUtil.isNotEmpty(this.getExtraTargetType()) && TargetTypeEnum.RATIO.equals(this.getExtraTargetType())) { this.setExtraTargetValue(this.getExtraTargetValue().multiply(Constant.ONE_HUNDRED)); } } }