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 boman
 * @date 2023-02-09
 */
public class KaoqinRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 打卡人id */

    private Long userId;

    /** 打卡人姓名 */
    @Excel(name = "打卡人姓名")
    private String userName;

    /** 打卡人姓名 */
    @Excel(name = "考勤人员手机号")
    private String phone;

    /** 部门Id */

    private Long deptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 部门祖籍列表 */

    private String ancestors;

    /***今日考勤配置次数*/
    private String kaNum;

    /** 打卡时间 年 */
    @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 kaAddressAmIn;

    /** 打卡地点经度-暂时无用 */

    private String kaLog;

    /** 打卡地点维度--暂时无用 */
    private String kaLat;

    /** 打卡分类 1:上午上班 2:上午下班 3:下午上班 4:下午下班-暂时无用 */
    private String kaSort;

    /** 打卡地点名称-上午下班 */
    @Excel(name = "打卡地点名称-上午下班")
    private String kaAddressAmOut;

    /** 打卡地点名称 -下午上班 */
    @Excel(name = "打卡地点名称 -下午上班")
    private String kaAddressPmIn;

    /** 打卡地点名称 -下午下班 */
    @Excel(name = "打卡地点名称 -下午下班")
    private String kaAddressPmOut;

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

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

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

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

    /** 打卡类别-上午上班 1正常 2:迟到 3:外勤 4:早退  */
    @Excel(name = "打卡类别 ",readConverterExp = "1=正常,2=迟到,3=外勤,4=早退,5=缺卡")
    private String kaTypeAmIn;

    /** 打卡类别-上午下班 1正常 2:迟到 3:外勤 4:早退 */
    @Excel(name = "打卡类别 ",readConverterExp = "1=正常,2=迟到,3=外勤,4=早退,5=缺卡")
    private String kaTypeAmOut;

    /** 打卡类别-下午上班 1正常 2:迟到 3:外勤 4:早退 */
    @Excel(name = "打卡类别 ",readConverterExp = "1=正常,2=迟到,3=外勤,4=早退,5=缺卡")
    private String kaTypePmIn;

    /** 打卡类别-下午下班 1正常 2:迟到 3:外勤 4:早退 */
    @Excel(name = "打卡类别 ",readConverterExp = "1=正常,2=迟到,3=外勤,4=早退,5=缺卡")
    private String kaTypePmOut;

    /**
     * 考勤详情里面来查询打卡类别的字段
     */
    private String kaType;
    /**
     * 上午上班-图片
     */
    private String kaAmInPhoto;
    /**
     * 上午下班-图片
     */
    private String kaAmOutPhoto;
    /**
     * 下午上班-图片
     */
    private String kaPmInPhoto;
    /**
     * 下午下班-图片
     */
    private String kaPmOutPhoto;

    /** 打卡状态 1正常 2异常 */
    private String kaStatus;

    /** $column.columnComment */
    private String remarkAmIn;

    /** 备注 */
    private String remarkAmOut;

    /** $column.columnComment */
    private String remarkPmIn;

    /** $column.columnComment */
    private String remarkPmOut;

    private String startTime;

    private String endTime;

    public String getKaType() {
        return kaType;
    }

    public void setKaType(String kaType) {
        this.kaType = kaType;
    }

    public String getKaAmInPhoto() {
        return kaAmInPhoto;
    }

    public void setKaAmInPhoto(String kaAmInPhoto) {
        this.kaAmInPhoto = kaAmInPhoto;
    }

    public String getKaAmOutPhoto() {
        return kaAmOutPhoto;
    }

    public void setKaAmOutPhoto(String kaAmOutPhoto) {
        this.kaAmOutPhoto = kaAmOutPhoto;
    }

    public String getKaPmInPhoto() {
        return kaPmInPhoto;
    }

    public void setKaPmInPhoto(String kaPmInPhoto) {
        this.kaPmInPhoto = kaPmInPhoto;
    }

    public String getKaPmOutPhoto() {
        return kaPmOutPhoto;
    }

    public void setKaPmOutPhoto(String kaPmOutPhoto) {
        this.kaPmOutPhoto = kaPmOutPhoto;
    }

    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 setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setAncestors(String ancestors) 
    {
        this.ancestors = ancestors;
    }

    public String getAncestors() 
    {
        return ancestors;
    }
    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 setKaAddressAmIn(String kaAddressAmIn) 
    {
        this.kaAddressAmIn = kaAddressAmIn;
    }

    public String getKaAddressAmIn() 
    {
        return kaAddressAmIn;
    }
    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 setKaAddressAmOut(String kaAddressAmOut) 
    {
        this.kaAddressAmOut = kaAddressAmOut;
    }

    public String getKaAddressAmOut() 
    {
        return kaAddressAmOut;
    }
    public void setKaAddressPmIn(String kaAddressPmIn) 
    {
        this.kaAddressPmIn = kaAddressPmIn;
    }

    public String getKaAddressPmIn() 
    {
        return kaAddressPmIn;
    }
    public void setKaAddressPmOut(String kaAddressPmOut) 
    {
        this.kaAddressPmOut = kaAddressPmOut;
    }

    public String getKaAddressPmOut() 
    {
        return kaAddressPmOut;
    }
    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 setKaTypeAmIn(String kaTypeAmIn) 
    {
        this.kaTypeAmIn = kaTypeAmIn;
    }

    public String getKaTypeAmIn() 
    {
        return kaTypeAmIn;
    }
    public void setKaTypeAmOut(String kaTypeAmOut) 
    {
        this.kaTypeAmOut = kaTypeAmOut;
    }

    public String getKaTypeAmOut() 
    {
        return kaTypeAmOut;
    }
    public void setKaTypePmIn(String kaTypePmIn) 
    {
        this.kaTypePmIn = kaTypePmIn;
    }

    public String getKaTypePmIn() 
    {
        return kaTypePmIn;
    }
    public void setKaTypePmOut(String kaTypePmOut) 
    {
        this.kaTypePmOut = kaTypePmOut;
    }

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

    public String getKaStatus() 
    {
        return kaStatus;
    }
    public void setRemarkAmIn(String remarkAmIn) 
    {
        this.remarkAmIn = remarkAmIn;
    }

    public String getRemarkAmIn() 
    {
        return remarkAmIn;
    }
    public void setRemarkAmOut(String remarkAmOut) 
    {
        this.remarkAmOut = remarkAmOut;
    }

    public String getRemarkAmOut() 
    {
        return remarkAmOut;
    }
    public void setRemarkPmIn(String remarkPmIn) 
    {
        this.remarkPmIn = remarkPmIn;
    }

    public String getRemarkPmIn() 
    {
        return remarkPmIn;
    }
    public void setRemarkPmOut(String remarkPmOut) 
    {
        this.remarkPmOut = remarkPmOut;
    }

    public String getRemarkPmOut() 
    {
        return remarkPmOut;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getKaNum() {
        return kaNum;
    }

    public void setKaNum(String kaNum) {
        this.kaNum = kaNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("ancestors", getAncestors())
            .append("kaYear", getKaYear())
            .append("kaMonth", getKaMonth())
            .append("kaDay", getKaDay())
            .append("kaWeek", getKaWeek())
            .append("kaTime", getKaTime())
            .append("kaAddressAmIn", getKaAddressAmIn())
            .append("kaLog", getKaLog())
            .append("kaLat", getKaLat())
            .append("kaSort", getKaSort())
            .append("kaAddressAmOut", getKaAddressAmOut())
            .append("kaAddressPmIn", getKaAddressPmIn())
            .append("kaAddressPmOut", getKaAddressPmOut())
            .append("kaTimeAmIn", getKaTimeAmIn())
            .append("kaTimeAmOut", getKaTimeAmOut())
            .append("kaTimePmIn", getKaTimePmIn())
            .append("kaTimePmOut", getKaTimePmOut())
            .append("kaTypeAmIn", getKaTypeAmIn())
            .append("kaTypeAmOut", getKaTypeAmOut())
            .append("kaTypePmIn", getKaTypePmIn())
            .append("kaTypePmOut", getKaTypePmOut())
            .append("kaStatus", getKaStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remarkAmIn", getRemarkAmIn())
            .append("remarkAmOut", getRemarkAmOut())
            .append("remarkPmIn", getRemarkPmIn())
            .append("remarkPmOut", getRemarkPmOut())
            .toString();
    }
}
