package com.ruoyi.project.domain; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * 考勤记录对象 service_attendancerecords * * @author ls * @date 2025-12-28 */ @Data @ApiModel("考勤记录") public class ServiceAttendancerecords extends BaseEntity { private static final long serialVersionUID = 1L; /** * 考勤记录ID */ @ApiModelProperty("考勤记录ID") //数据库自增改成@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO) private Long id; /** * 人员编号 */ @ApiModelProperty("人员编号") @Excel(name = "人员编号") private String userNo; /** * 人员姓名 */ @ApiModelProperty("人员姓名") @Excel(name = "人员姓名") private String userName; /** * 人员部门编号 */ @ApiModelProperty("人员部门编号") @Excel(name = "人员部门编号") private String deptNo; /** * 人员部门名称 */ @ApiModelProperty("人员部门名称") @Excel(name = "人员部门名称") private String deptName; /** * 考勤日期 */ @ApiModelProperty("考勤日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "考勤日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date attendanceDate; /** * 上班打卡时间 */ @ApiModelProperty("上班打卡时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "上班打卡时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date clockInTime; /** * 下班打卡时间 */ @ApiModelProperty("下班打卡时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "下班打卡时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date clockOutTime; /** * 考勤状态 */ @ApiModelProperty("考勤状态") @Excel(name = "考勤状态") private String attendanceStatus; /** * 实际工作时长(分钟) */ @ApiModelProperty("实际工作时长(分钟)") @Excel(name = "实际工作时长", readConverterExp = "分=钟") private Long workHoursMinutes; /** * 加班时长(分钟) */ @ApiModelProperty("加班时长(分钟)") @Excel(name = "加班时长", readConverterExp = "分=钟") private Long overtimeMinutes; /** * 加班/外出原因 */ @ApiModelProperty("加班/外出原因") @Excel(name = "加班/外出原因") private String reason; /** * 考勤异常原因 */ @ApiModelProperty("考勤异常原因") @Excel(name = "考勤异常原因") private String abnormalReason; /** * 上班打卡方式 */ @ApiModelProperty("上班打卡方式") @Excel(name = "上班打卡方式") private String clockInMethod; /** * 下班打卡方式 */ @ApiModelProperty("下班打卡方式") @Excel(name = "下班打卡方式") private String clockOutMethod; /** * 上班打卡地点 */ @ApiModelProperty("上班打卡地点") @Excel(name = "上班打卡地点") private String clockInLocation; /** * 下班打卡地点 */ @ApiModelProperty("下班打卡地点") @Excel(name = "下班打卡地点") private String clockOutLocation; /** * 数据来源 */ @ApiModelProperty("数据来源") @Excel(name = "数据来源") private String dataSource; }