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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 合同续签流程信息新增/修改 Request VO")
@Data
public class OaRenewSaveReqVO {

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

    @Schema(description = "续签人id", example = "1")
    @NotNull(message = "续签人id不能为空")
    private Long employeeId;

    @Schema(description = "续签合同期限，单位：月")
    @NotBlank(message = "续签合同期限，单位：月，不能为空")
    private String renewPeriod;

    @Schema(description = "续签开始日期")
    @NotBlank(message = "续签开始日期，不能为空")
    private String renewContractStartDate;

    @Schema(description = "续签结束日期")
    @NotBlank(message = "续签结束日期，不能为空")
    private String renewContractEndDate;

    @Schema(description = "续签理由", example = "不喜欢")
    @NotBlank(message = "续签理由，不能为空")
    private String renewReason;

    @Schema(description = "工作表现")
    private String workPerformance;

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

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

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

}