package cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo;

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

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;

@Schema(description = "管理后台 - 劳动合同管理新增/修改 Request VO")
@Data
public class LaborContractSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "146")
    @NotNull(message = "用户id不能为空")
    private Long userId;

    @Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "128")
    @NotNull(message = "部门id不能为空")
    private Long deptId;

    @Schema(description = "签约日期")
    @NotNull(message = "签约日期不能为空")
    private LocalDate signingDate;

    @Schema(description = "签约年限")
    @NotNull(message = "签约年限不能为空")
    private Integer contractDuration;

    @Schema(description = "试用期时间(月)", example = "3")
    private Integer probationPeriodTime;

    @Schema(description = "状态  0待签 1过期 2已签 3离职", example = "0")
    private Integer status;

    @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<UploadFile> fileItems;
}