package cn.iocoder.yudao.module.hrm.controller.admin.approval.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.DecimalMin; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalTime; @Schema(description = "管理后台 - 加班申请新增/修改 Request VO") @Data public class HrmOvertimeApplicationSaveReqVO { private Long id; @NotNull(message = "加班日期不能为空") private LocalDate overtimeDate; @NotNull(message = "开始时间不能为空") private LocalTime startTime; @NotNull(message = "结束时间不能为空") private LocalTime endTime; @NotNull(message = "加班时长不能为空") @DecimalMin(value = "0.5", message = "加班时长不能小于 0.5 小时") private BigDecimal duration; @NotNull(message = "加班类型不能为空") private Integer overtimeType; private Boolean crossDay; private Boolean mealDeduction; private BigDecimal mealDeductionHours; @NotBlank(message = "加班原因不能为空") private String reason; private Integer relatedType; private String relatedCode; private String workContent; }