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

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

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 劳动合同管理 Response VO")
@Data
public class LaborContractRespVO {

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

    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "128")
    private Long userId;

    @Schema(description = "用户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "146")
    private String userName;

    @Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "128")
    private Long deptId;

    @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "128")
    private String deptName;

    @Schema(description = "签约日期")
    private LocalDate signingDate;

    @Schema(description = "到期日期")
    private LocalDate expirationDate;

    @Schema(description = "签约年限")
    private Integer contractDuration;

    @Schema(description = "签约次数")
    private Integer signingCount;

    @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 LocalDateTime createTime;

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