package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 考勤记录对象 kaoqin_record
 * 
 * @author ruoyi
 * @date 2023-02-02
 */
public class KaoqinRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 考勤记录表id */
    private Long recordId;

    /** 打卡人id */
    @Excel(name = "打卡人id")
    private Long userId;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 打卡时间 年 */
    @Excel(name = "打卡时间 年")
    private String kaYear;

    /** 打卡时间 月 */
    @Excel(name = "打卡时间 月")
    private String kaMonth;

    /** 打卡时间 日 */
    @Excel(name = "打卡时间 日")
    private String kaDay;

    /** 打卡时间 星期 */
    @Excel(name = "打卡时间 星期")
    private String kaWeek;

    /** 打卡时间年-月-日 */
    @Excel(name = "打卡时间年-月-日")
    private String kaTime;

    /** 打卡地点名称 */
    @Excel(name = "打卡地点名称")
    private String kaAddress;

    /** 打卡地点经度 */
    @Excel(name = "打卡地点经度")
    private String kaLog;

    /** 打卡地点维度 */
    @Excel(name = "打卡地点维度")
    private String kaLat;

    /** 打卡分类 1:上午上班 2:上午下班 3:下午上班 4:下午下班 */
    @Excel(name = "打卡分类 1:上午上班 2:上午下班 3:下午上班 4:下午下班")
    private String kaSort;

    /** 打卡时间 -上午上班 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "打卡时间 -上午上班", width = 30, dateFormat = "yyyy-MM-dd")
    private Date kaTimeAmIn;

    /** 打卡时间 -上午下班 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "打卡时间 -上午下班", width = 30, dateFormat = "yyyy-MM-dd")
    private Date kaTimeAmOut;

    /** 打卡时间 -下午上班 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "打卡时间 -下午上班", width = 30, dateFormat = "yyyy-MM-dd")
    private Date kaTimePmIn;

    /** 打卡时间 -下午下班 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "打卡时间 -下午下班", width = 30, dateFormat = "yyyy-MM-dd")
    private Date kaTimePmOut;

    /** 打卡状态 1正常 2:迟到 3:外勤 4:早退 */
    @Excel(name = "打卡类别 1正常 2:迟到 3:外勤 4:早退")
    private String kaType;

    @Excel(name = "打卡状态 1正常 2:异常")
    private String kaStatus;

    public String getKaStatus() {
        return kaStatus;
    }

    public void setKaStatus(String kaStatus) {
        this.kaStatus = kaStatus;
    }

    public void setRecordId(Long recordId)
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setKaYear(String kaYear) 
    {
        this.kaYear = kaYear;
    }

    public String getKaYear() 
    {
        return kaYear;
    }
    public void setKaMonth(String kaMonth) 
    {
        this.kaMonth = kaMonth;
    }

    public String getKaMonth() 
    {
        return kaMonth;
    }
    public void setKaDay(String kaDay) 
    {
        this.kaDay = kaDay;
    }

    public String getKaDay() 
    {
        return kaDay;
    }
    public void setKaWeek(String kaWeek) 
    {
        this.kaWeek = kaWeek;
    }

    public String getKaWeek() 
    {
        return kaWeek;
    }
    public void setKaTime(String kaTime) 
    {
        this.kaTime = kaTime;
    }

    public String getKaTime() 
    {
        return kaTime;
    }
    public void setKaAddress(String kaAddress) 
    {
        this.kaAddress = kaAddress;
    }

    public String getKaAddress() 
    {
        return kaAddress;
    }
    public void setKaLog(String kaLog) 
    {
        this.kaLog = kaLog;
    }

    public String getKaLog() 
    {
        return kaLog;
    }
    public void setKaLat(String kaLat) 
    {
        this.kaLat = kaLat;
    }

    public String getKaLat() 
    {
        return kaLat;
    }
    public void setKaSort(String kaSort) 
    {
        this.kaSort = kaSort;
    }

    public String getKaSort() 
    {
        return kaSort;
    }
    public void setKaTimeAmIn(Date kaTimeAmIn) 
    {
        this.kaTimeAmIn = kaTimeAmIn;
    }

    public Date getKaTimeAmIn() 
    {
        return kaTimeAmIn;
    }
    public void setKaTimeAmOut(Date kaTimeAmOut) 
    {
        this.kaTimeAmOut = kaTimeAmOut;
    }

    public Date getKaTimeAmOut() 
    {
        return kaTimeAmOut;
    }
    public void setKaTimePmIn(Date kaTimePmIn) 
    {
        this.kaTimePmIn = kaTimePmIn;
    }

    public Date getKaTimePmIn() 
    {
        return kaTimePmIn;
    }
    public void setKaTimePmOut(Date kaTimePmOut) 
    {
        this.kaTimePmOut = kaTimePmOut;
    }

    public Date getKaTimePmOut() 
    {
        return kaTimePmOut;
    }
    public void setKaType(String kaType) 
    {
        this.kaType = kaType;
    }

    public String getKaType() 
    {
        return kaType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("kaYear", getKaYear())
            .append("kaMonth", getKaMonth())
            .append("kaDay", getKaDay())
            .append("kaWeek", getKaWeek())
            .append("kaTime", getKaTime())
            .append("kaAddress", getKaAddress())
            .append("kaLog", getKaLog())
            .append("kaLat", getKaLat())
            .append("kaSort", getKaSort())
            .append("kaTimeAmIn", getKaTimeAmIn())
            .append("kaTimeAmOut", getKaTimeAmOut())
            .append("kaTimePmIn", getKaTimePmIn())
            .append("kaTimePmOut", getKaTimePmOut())
            .append("kaType", getKaType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
