package cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; @Schema(description = "管理后台 - 考勤记录 Response VO") @Data @ExcelIgnoreUnannotated public class HrmAttendanceRecordRespVO { @Schema(description = "记录ID") @ExcelProperty("记录ID") private Long id; @Schema(description = "员工ID") private Long userId; @Schema(description = "员工姓名") @ExcelProperty("员工姓名") private String userName; @Schema(description = "部门ID") private Long deptId; @Schema(description = "部门名称") @ExcelProperty("部门名称") private String deptName; @Schema(description = "考勤日期") @ExcelProperty("考勤日期") private LocalDate date; @Schema(description = "上班打卡时间") @ExcelProperty("上班打卡时间") private LocalDateTime clockInTime; @Schema(description = "下班打卡时间") @ExcelProperty("下班打卡时间") private LocalDateTime clockOutTime; @Schema(description = "上班打卡类型") @ExcelProperty(value = "上班打卡类型", converter = DictConvert.class) @DictFormat("hrm_clock_type") private Integer clockInType; @Schema(description = "下班打卡类型") @ExcelProperty(value = "下班打卡类型", converter = DictConvert.class) @DictFormat("hrm_clock_type") private Integer clockOutType; @Schema(description = "工作时长(小时)") @ExcelProperty("工作时长") private BigDecimal workHours; @Schema(description = "加班时长(小时)") @ExcelProperty("加班时长") private BigDecimal overtimeHours; @Schema(description = "打卡地点") @ExcelProperty("打卡地点") private String location; @Schema(description = "备注") @ExcelProperty("备注") private String remark; @Schema(description = "数据来源") @ExcelProperty(value = "数据来源", converter = DictConvert.class) @DictFormat("hrm_data_source") private Integer dataSource; @Schema(description = "创建时间") @ExcelProperty("创建时间") private LocalDateTime createTime; }