liu
10 小时以前 5611b19e904ec0daa96ea5f648500cf6205c9385
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo;
 
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")
@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 = "员工姓名(兼容旧版客户端)")
    private String userName;
 
    @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 = "考勤规则名称(兼容旧版客户端)")
    private String ruleName;
 
    @Schema(description = "上班时间(兼容旧版客户端)")
    private LocalTime workStartTime;
 
    @Schema(description = "下班时间(兼容旧版客户端)")
    private LocalTime workEndTime;
 
    @Schema(description = "是否启用定位范围校验")
    private Boolean locationRequired;
 
    @Schema(description = "打卡地点名称")
    private String locationName;
 
    @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 = "当日考勤记录,未打卡时为 null")
    private HrmAttendanceRecordRespVO record;
 
    @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;
 
    @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;
 
    }
 
}