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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 公务外出流程信息新增/修改 Request VO")
@Data
public class OaOutSaveReqVO {

    @Schema(description = "出差表单主键", example = "1")
    private Integer id;

    @Schema(description = "外出人id", example = "1")
    private Long employeeId;

    @Schema(description = "外出事由", example = "不香")
    @NotBlank(message = "外出事由不能为空")
    private String reason;

    @Schema(description = "外出地点")
    @NotBlank(message = "外出地点不能为空")
    private String destination;

    @Schema(description = "外出开始时间")
    @NotBlank(message = "外出开始时间不能为空")
    private String startDate;

    @Schema(description = "外出结束时间")
    @NotBlank(message = "外出结束时间不能为空")
    private String endDate;

    @Schema(description = "外出时长，单位（小时）")
    @NotBlank(message = "外出时长，单位（小时）不能为空")
    private String hour;

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

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

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

}