EvalIndicatorDTO.java 2.37 KB
package cn.fw.morax.domain.dto;

import cn.fw.morax.domain.enums.*;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDate;
import java.util.List;

/**
 * @author : kurisu
 * @date : 2022-4-2
 * @desc : 考评指标库
 */
@Data
public class EvalIndicatorDTO {

    private Long id;

    /**
     * 指标名称
     */
    @NotBlank(message = "指标名称不能为空")
    @Length(max = 255, message = "指标名称超出最大长度限制")
    private String name;

//    /**
//     * 归属系统id
//     */
//    @NotNull(message = "归属系统不能为空")
//    private Long sysId;
//
//    /**
//     * 归属系统名称
//     */
//    @NotNull(message = "归属系统名称不能为空")
//    private String sysName;

    /**
     * 数据类型;1:数量 2:百分比 3:金额
     */
    @NotNull(message = "数据类型不能为空")
    private DataTypeEnum dataType;

    /**
     * 绩效目标值类型; 1:无 2:百分比 3:金额
     */
    @NotNull(message = "绩效目标值类型不能为空")
    private TargetTypeEnum targetType;

    /**
     * 导入操作角色编码
     */
    @NotBlank(message = "导入操作角色编码不能为空")
    private String roleCode;

    /**
     * 导入操作角色名称
     */
    @NotBlank(message = "导入操作角色名称不能为空")
    private String roleName;

    /**
     * 频率类型; 1:按滚动天 2:按星期 3:按月指定日期 4:按滚动月
     */
    @NotNull(message = "频率类型不能为空")
    private EvalRuleTypeEnum ruleType;

    /**
     * 频率值 ,号分隔(按星期、按月指定日期使用)
     */
    private List<Integer> ruleValues;

    /**
     * 滚动天数
     */
    private Integer rollValue;

    /**
     * 开始日期
     */
    private LocalDate startTime;

    /**
     * 月天; 1:月第几天 2:月倒数第几天
     */
    private RollMonthOrderTypeEnum orderType;

    /**
     * 数据范围范围类型; 1. 人员, 2.门店
     */
    @NotNull(message = "数据范围范围类型不能为空")
    @Size(min = 1, message = "数据范围范围类型不能为空")
    private List<DataScopeTypeEnum> dataScopeTypes;

//    /**
//     * 月天数
//     */
//    private Integer monthDay;


}