package cn.iocoder.yudao.module.bpm.controller.admin.oa.entry.vo;

import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskApproveReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

@Schema(description = "管理后台 - 入职流程信息新增/修改 Request VO")
@Data
public class OaEntrySaveReqVO {

    @Schema(description = "入职表单主键", example = "1")
    private Long id;

    @Schema(description = "入职人", example = "李四")
    @NotBlank(message = "入职人不能为空")
    private String entryName;

    @Schema(description = "部门", example = "2937")
    @NotBlank(message = "部门不能为空")
    private String deptId;

    @Schema(description = "职位")
    @NotBlank(message = "职位不能为空")
    private String position;

    @Schema(description = "员工类型", example = "1")
    @NotBlank(message = "员工类型不能为空")
    private String employeeType;

    @Schema(description = "性别")
    @NotBlank(message = "性别不能为空")
    private String gender;

    @Schema(description = "出生日期")
    @NotBlank(message = "出生日期不能为空")
    private String birthday;

    @Schema(description = "联系电话")
    @NotBlank(message = "联系电话不能为空")
    private String contactNumber;

    @Schema(description = "电子邮箱")
    @NotBlank(message = "电子邮箱不能为空")
    private String email;

    @Schema(description = "教育背景", example = "本科")
    private String education;

    @Schema(description = "工作经验", example = "5年Java开发经验")
    private String workExperience;

    @Schema(description = "备注")
    private String remarks;

    @Schema(description = "入职日期")
    @NotBlank(message = "入职日期不能为空")
    private String entryDate;

    @Schema(description = "发起人自选审批人", example = " [100, 1]")
    @NotEmpty(message = "发起人自选审批人不能为空")
    private List<Long> startUserSelectAssignees;

    @Schema(description = "附件", example = "[1, 2]")
    private List<Long> fileIdList;

}