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 ruleValues; /** * 滚动天数 */ private Integer rollValue; /** * 开始日期 */ private LocalDate startTime; /** * 月天; 1:月第几天 2:月倒数第几天 */ private RollMonthOrderTypeEnum orderType; /** * 数据范围范围类型; 1. 人员, 2.门店 */ @NotNull(message = "数据范围范围类型不能为空") @Size(min = 1, message = "数据范围范围类型不能为空") private List dataScopeTypes; // /** // * 月天数 // */ // private Integer monthDay; }