package cn.iocoder.yudao.module.attendance.dal.dataobject.info;

import lombok.*;

import java.time.LocalDate;
import java.time.LocalTime;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 考勤信息 DO
 *
 * @author zhaopq
 */
@TableName("attendance_info")
@KeySequence("attendance_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AttendanceInfoDO extends BaseDO {

    /**
     * 考勤ID
     */
    @TableId
    private Long id;
    /**
     * 员工ID
     */
    private Long employeeId;
    /**
     * 员工编号
     */
    private String employeeNumber;
    /**
     * 员工姓名
     */
    private String employeeName;
    /**
     * 员工手机号
     */
    private String employeeMobile;
    /**
     * 部门ID
     */
    private Long deptId;
    /**
     * 部门名称
     */
    private String deptName;
    /**
     * 职位名称
     */
    private String position;
    /**
     * 考勤月份
     */
    private String attendanceMonth;
    /**
     * 考勤日期
     */
    private LocalDate attendanceDate;
    /**
     * 上班时间
     */
    private LocalTime workStartTime;
    /**
     * 下班时间
     */
    private LocalTime workEndTime;
    /**
     * 迟到时间（如有）
     */
    private LocalTime lateTime;
    /**
     * 早退时间（如有）
     */
    private LocalTime leaveEarlyTime;
    /**
     * 加班时长（小时）
     */
    private BigDecimal overtimeDuration;
    /**
     * 请假类型
     */
    private String leaveType;
    /**
     * 请假时长（小时或天数）
     */
    private BigDecimal leaveDuration;
    /**
     * 考勤状态
     */
    private String attendanceStatus;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 租户编号
     */
    private Long tenantId;

}