package cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDate; import java.time.LocalDateTime; @Schema(description = "管理后台 - 我的考勤状态 Response VO") @Data public class HrmAttendanceMyStatusRespVO { @Schema(description = "登录用户ID", example = "464") private Long userId; @Schema(description = "员工档案ID", example = "233") private Long employeeId; @Schema(description = "员工姓名", example = "阿卜杜克热木·吾拉依木") private String employeeName; @Schema(description = "部门ID", example = "131") private Long deptId; @Schema(description = "部门名称", example = "钢结构车间") private String deptName; @Schema(description = "考勤日期", example = "2026-10-17") private LocalDate date; @Schema(description = "服务器时间", example = "2026-10-17 18:30:00") private LocalDateTime serverTime; @Schema(description = "是否工作日") private Boolean workDay; @Schema(description = "休息日原因,如:国庆节、周六") private String restDayReason; @Schema(description = "当前生效的考勤规则,未配置时为 null") private HrmAttendanceRuleRespVO rule; @Schema(description = "当日考勤记录,未打卡时为 null") private HrmAttendanceRecordRespVO record; @Schema(description = "当前可打卡状态") private Clockable clockable; @Schema(description = "打卡状态") @Data public static class Clockable { @Schema(description = "是否可上班打卡") private Boolean clockIn; @Schema(description = "是否可下班打卡") private Boolean clockOut; @Schema(description = "下一步动作:in-上班打卡,out-下班打卡,none-无需打卡") private String nextAction; @Schema(description = "提示文案", example = "已上班打卡,可下班打卡") private String message; } }