package cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalTime; @Schema(description = "管理后台 - 考勤规则新增/修改 Request VO") @Data public class HrmAttendanceRuleSaveReqVO { @Schema(description = "规则ID(修改时必填)", example = "1") private Long id; @Schema(description = "规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "标准考勤规则") @NotBlank(message = "规则名称不能为空") private String name; @Schema(description = "适用部门ID(空表示全局)", example = "1") private Long deptId; @Schema(description = "上班时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "09:00:00") @NotNull(message = "上班时间不能为空") private LocalTime workStartTime; @Schema(description = "下班时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "18:00:00") @NotNull(message = "下班时间不能为空") private LocalTime workEndTime; @Schema(description = "迟到允许分钟数", example = "10") private Integer lateAllowMinutes; @Schema(description = "早退允许分钟数", example = "10") private Integer earlyAllowMinutes; @Schema(description = "加班起算时长(小时)", example = "1") private BigDecimal overtimeThreshold; @Schema(description = "状态:0-启用,1-禁用", example = "0") private Integer status; @Schema(description = "备注", example = "适用于研发部门") private String remark; }