package cn.iocoder.yudao.module.hrm.controller.admin.approval.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.time.LocalDate; @Schema(description = "管理后台 - 离职申请新增/修改 Request VO") @Data public class HrmResignationApplicationSaveReqVO { @Schema(description = "申请ID", example = "1") private Long id; @Schema(description = "申请人ID", example = "1") private Long userId; @Schema(description = "部门ID", example = "1") private Long deptId; @Schema(description = "离职类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "离职类型不能为空") private Integer resignationType; @Schema(description = "预计离职日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-02-01") @NotNull(message = "预计离职日期不能为空") private LocalDate expectedDate; @Schema(description = "离职原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "个人发展") @NotEmpty(message = "离职原因不能为空") private String reason; @Schema(description = "交接人ID", example = "1") private Long handoverUserId; @Schema(description = "交接说明", example = "交接说明") private String handoverRemark; @Schema(description = "附件地址", example = "https://xxx.com/xxx.pdf") private String fileUrl; @Schema(description = "备注", example = "备注信息") private String remark; }