liu
16 小时以前 43aab58c9ecb1203770ba382efbdbae299ca87ec
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceMyStatusRespVO.java
@@ -3,100 +3,65 @@
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@Schema(description = "管理后台 - 我的今日打卡状态 Response VO")
@Schema(description = "管理后台 - 我的考勤状态 Response VO")
@Data
public class HrmAttendanceMyStatusRespVO {
    @Schema(description = "考勤日期")
    @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 = "员工ID")
    private Long employeeId;
    @Schema(description = "休息日原因,如:国庆节、周六")
    private String restDayReason;
    @Schema(description = "员工姓名")
    private String userName;
    @Schema(description = "当前生效的考勤规则,未配置时为 null")
    private HrmAttendanceRuleRespVO rule;
    @Schema(description = "部门ID")
    private Long deptId;
    @Schema(description = "当日考勤记录,未打卡时为 null")
    private HrmAttendanceRecordRespVO record;
    @Schema(description = "部门名称")
    private String deptName;
    @Schema(description = "当前可打卡状态")
    private Clockable clockable;
    @Schema(description = "考勤规则名称")
    private String ruleName;
    @Schema(description = "打卡状态")
    @Data
    public static class Clockable {
    @Schema(description = "上班时间")
    private LocalTime workStartTime;
        @Schema(description = "是否可上班打卡")
        private Boolean clockIn;
    @Schema(description = "下班时间")
    private LocalTime workEndTime;
        @Schema(description = "是否可下班打卡")
        private Boolean clockOut;
    @Schema(description = "是否启用定位范围校验")
    private Boolean locationRequired;
        @Schema(description = "下一步动作:in-上班打卡,out-下班打卡,none-无需打卡")
        private String nextAction;
    @Schema(description = "打卡地点名称")
    private String locationName;
        @Schema(description = "提示文案", example = "已上班打卡,可下班打卡")
        private String message;
    @Schema(description = "打卡地点地址")
    private String locationAddress;
    @Schema(description = "打卡中心经度(WGS84)")
    private BigDecimal longitude;
    @Schema(description = "打卡中心纬度(WGS84)")
    private BigDecimal latitude;
    @Schema(description = "允许打卡半径,单位米")
    private Integer radiusMeters;
    @Schema(description = "坐标系")
    private String coordinateSystem;
    @Schema(description = "今日记录ID,未打卡时为空")
    private Long recordId;
    @Schema(description = "上班打卡时间")
    private LocalDateTime clockInTime;
    @Schema(description = "下班打卡时间")
    private LocalDateTime clockOutTime;
    @Schema(description = "上班打卡类型")
    private Integer clockInType;
    @Schema(description = "下班打卡类型")
    private Integer clockOutType;
    @Schema(description = "是否已上班打卡")
    private Boolean clockInDone;
    @Schema(description = "是否已下班打卡")
    private Boolean clockOutDone;
    @Schema(description = "是否可上班打卡")
    private Boolean canClockIn;
    @Schema(description = "是否可下班打卡")
    private Boolean canClockOut;
    @Schema(description = "工作时长(小时)")
    private BigDecimal workHours;
    @Schema(description = "加班时长(小时)")
    private BigDecimal overtimeHours;
    @Schema(description = "打卡地点")
    private String location;
    @Schema(description = "数据来源")
    private Integer dataSource;
    }
}