package cn.timer.api.dto.spmk;

import java.util.List;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import cn.hutool.json.JSONObject;
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 SpmkApproveSummaryDto{

	@NotBlank(message = ValidationMsg.NOTBLANK)
	@ApiModelProperty(value = "标题 ", example = "标题", required = true)
	private String title;

	@NotBlank(message = ValidationMsg.NOTBLANK)
	@ApiModelProperty(value = "审批名称 ", example = "审批名称", required = true)
	private String approveName;

	@ApiModelProperty(value = "摘要", example = "摘要", required = true)
	private String digest;
	
	@NotBlank(message = ValidationMsg.NOTBLANK)
	@ApiModelProperty(value = "发起人名称 ", example = "发起人名称", required = true)
	private String initiator;
	
	@NotNull(message = ValidationMsg.NOTNULL)
	@DecimalMax(value = "9",message = ValidationMsg.DECIMALMAX +" 只能为 0无 1转正 2离职 3调岗 4招聘 5加班 6请假 7出差 8外出 9补卡 ")
	@DecimalMin(value = "0",message = ValidationMsg.DECIMALMIN +" 只能为 0无 1转正 2离职 3调岗 4招聘 5加班 6请假 7出差 8外出 9补卡 ")
	@ApiModelProperty(value = "关联类型 0无 1转正 2离职 3调岗 4招聘 5加班 6请假 7出差 8外出 9补卡", example = "1")
	private Integer assoType;
	
	@NotNull(message = ValidationMsg.NOTNULL)
	@ApiModelProperty(value = "申请数据 ", example = "申请数据", required = true)
	private JSONObject requestData;

	@NotNull(message = ValidationMsg.NOTNULL)
	@ApiModelProperty(value = "审批表单 ", example = "数组", required = true)
	private List<JSONObject> froms;

	@NotNull(message = ValidationMsg.NOTNULL)
	@ApiModelProperty(value = "审批流程", example = "审批流程", required = true)
	private Router router;

}