package jnpf.model.cultivate.dto.identify;

import com.fasterxml.jackson.annotation.JsonIgnore;
import jnpf.model.cultivate.dto.offline.FtbCultivateOfflineFileDTO;
import lombok.Data;

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

@Data
public class IdentifyApplySaveDto {

    /**
     * 鉴定表id
     */
    @NotBlank(message = "鉴定表id-不能为空")
    private String tableId;

    /**
     * 被鉴定人用户id
     */
    @NotBlank(message = "被鉴定人用户id-不能为空")
    private String beIdentifyUserId;

    /**
     * 被鉴定人组织id
     */
    @NotBlank(message = "被鉴定人组织id-不能为空")
    private String beIdentifyOrgId;

    /**
     * 被鉴定人岗位id
     */
    @NotBlank(message = "被鉴定人岗位id-不能为空")
    private String beIdentifyPostId;

    /**
     * 被鉴定人职等id
     */
    private String beIdentifyPostRankId;

    /**
     * 鉴定人用户id
     */
    private String identifyUserId;

    /**
     * 鉴定结果是否告知,0告知,1不告知
     */
    @NotNull(message = "鉴定结果是否告知-不能为空")
    private Integer appraisalResults;
    /**
     * 鉴定来源(0手动发起，1课程学习鉴定，2岗位学习鉴定，3本人申请)
     */
    @JsonIgnore
    private Integer source;


    /**
     * 附件信息上限20个
     */
    @Size(max = 20, message = "附件信息上限20个")
    @Valid
    private List<FtbCultivateOfflineFileDTO> files;
}