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.math.BigDecimal; import java.time.LocalDateTime; @Schema(description = "管理后台 - 请假申请新增/修改 Request VO") @Data public class HrmLeaveApplicationSaveReqVO { @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 leaveType; @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-01-01 09:00:00") @NotNull(message = "开始时间不能为空") private LocalDateTime startTime; @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-01-02 18:00:00") @NotNull(message = "结束时间不能为空") private LocalDateTime endTime; @Schema(description = "请假时长(天)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1.5") @NotNull(message = "请假时长不能为空") private BigDecimal duration; @Schema(description = "请假原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "个人事务") @NotEmpty(message = "请假原因不能为空") private String reason; @Schema(description = "附件地址", example = "https://xxx.com/xxx.pdf") private String fileUrl; @Schema(description = "备注", example = "备注信息") private String remark; }