package cn.timer.api.dto.jxgl;

import java.io.Serializable;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import cn.timer.api.config.exception.ValidationMsg;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProcessNode implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "执行人id(员工id)", example = "10")
	private Integer executorId;

	@NotNull(message = ValidationMsg.NOTNULL)
	@Min(value = 0,message = ValidationMsg.MIN)
	@Max(value = 2,message = ValidationMsg.MAX)
	@ApiModelProperty(value = "执行人类型 0被考核人 1主管 2指定成员", example = "10")
	private Integer executeType;

	@NotNull(message = ValidationMsg.NOTNULL)
	@Min(value = 0,message = ValidationMsg.MIN)
	@Max(value = 4,message = ValidationMsg.MAX)
	@ApiModelProperty(value = "类型 0目标填写 1目标确认 2自评 3上级评分 4 结果确认", example = "10")
	private Integer processType;

	@Min(value = 0,message = ValidationMsg.MIN)
	@Max(value = 1,message = ValidationMsg.MAX)
	@ApiModelProperty(value = "主管层级 0直属主管 1上上级主管", example = "10")
	private Integer leaderTier;

	@Min(value = 0,message = ValidationMsg.MIN)
	@Max(value = 100,message = ValidationMsg.MAX)
	@ApiModelProperty(value = "权重", example = "10")
	private Integer weight;

}