package com.dcsoft.system.kq.domain;

import java.util.Date;

import com.dcsoft.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dcsoft.common.core.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 考勤汇总对象 kq_gather
 *
 * @author dcsoft
 * @date 2023-06-12
 */
public class KqGather extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 汇总id */
    private Long id;

    /** 考勤组名称 */
    @Excel(name = "考勤组",sort = 2)
    private String groupName;

    /** 考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考勤时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 5)
    private Date kqTime;

    /** 上班时间 */
    @Excel(name = "第一次上班时间",sort = 6)
    private String workTime;

    /** 上班考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "第一次上班考勤时间", width = 30, dateFormat = "HH:mm:ss",sort = 7)
    private Date workKqTime;

    /** 上班状态 */
    private String workStatus;

    /** 下班时间 */
    @Excel(name = "第一次下班时间",sort = 8)
    private String outTime;

    /** 下班考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "第一次下班考勤时间", width = 30, dateFormat = "HH:mm:ss",sort =9)
    private Date outKqTime;

    /** 下班状态 */
    private String outStatus;

    /** 迟到时长(分) */
    @Excel(name = "迟到时长(分)",sort = 14)
    private String lateTime;

    /** 早退时长(分) */
    @Excel(name = "早退时长(分)",sort = 15)
    private String leaveTime;

    @Excel(name = "加班时长(分)",sort = 16)
    private String overTime;

    /** 上班时段 */
    //@Excel(name = "上班时段",sort = 6)
    private String workPeriod;

    /** 关联考勤组 */
    private Long groupId;

    /** 关联考勤班次 */
    private Long classesId;

    /** 部门ID */

    private Long branchId;

    private Long peopleId;
    @Excel(name = "考勤班次",sort = 3)
    private String classesName;
    @Excel(name = "部门",sort = 1)
    private String branchName;
    @Excel(name = "姓名",sort = 4)
    private String peopleName;

    /** 上班时间 */
    @Excel(name = "第二次上班时间",sort =10)
    private String workTime1;

    /** 上班考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "第二次上班考勤时间", width = 30, dateFormat = "HH:mm:ss",sort =11)
    private Date workKqTime1;

    @Excel(name = "第二次下班时间",sort =12)
    private String outTime1;

    /** 下班考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "第二次下班考勤时间", width = 30, dateFormat = "HH:mm:ss",sort =13)
    private Date outKqTime1;

    private String workTime2;

    /** 上班考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date workKqTime2;

    private String outTime2;

    /** 下班考勤时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date outKqTime2;

    private Long classesNum;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    private Long qkcs;

    private String flag;

    /**
     * 部门id
     */
    private Long deptId;


    public Date getStartTime() {
        return startTime;
    }

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

    public Date getEndTime() {
        return endTime;
    }

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

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setGroupName(String groupName)
    {
        this.groupName = groupName;
    }

    public String getGroupName()
    {
        return groupName;
    }
    public void setKqTime(Date kqTime)
    {
        this.kqTime = kqTime;
    }

    public Date getKqTime()
    {
        return kqTime;
    }
    public void setWorkTime(String workTime)
    {
        this.workTime = workTime;
    }

    public String getWorkTime()
    {
        return workTime;
    }
    public void setWorkKqTime(Date workKqTime)
    {
        this.workKqTime = workKqTime;
    }

    public Date getWorkKqTime()
    {
        return workKqTime;
    }
    public void setWorkStatus(String workStatus)
    {
        this.workStatus = workStatus;
    }

    public String getWorkStatus()
    {
        return workStatus;
    }
    public void setOutTime(String outTime)
    {
        this.outTime = outTime;
    }

    public String getOutTime()
    {
        return outTime;
    }
    public void setOutKqTime(Date outKqTime)
    {
        this.outKqTime = outKqTime;
    }

    public Date getOutKqTime()
    {
        return outKqTime;
    }
    public void setOutStatus(String outStatus)
    {
        this.outStatus = outStatus;
    }

    public String getOutStatus()
    {
        return outStatus;
    }
    public void setLateTime(String lateTime)
    {
        this.lateTime = lateTime;
    }

    public String getLateTime()
    {
        return lateTime;
    }
    public void setLeaveTime(String leaveTime)
    {
        this.leaveTime = leaveTime;
    }

    public String getLeaveTime()
    {
        return leaveTime;
    }
    public void setWorkPeriod(String workPeriod)
    {
        this.workPeriod = workPeriod;
    }

    public String getWorkPeriod()
    {
        return workPeriod;
    }
    public void setGroupId(Long groupId)
    {
        this.groupId = groupId;
    }

    public Long getGroupId()
    {
        return groupId;
    }
    public void setClassesId(Long classesId)
    {
        this.classesId = classesId;
    }

    public Long getClassesId()
    {
        return classesId;
    }
    public void setBranchId(Long branchId)
    {
        this.branchId = branchId;
    }

    public Long getBranchId()
    {
        return branchId;
    }

    public Long getPeopleId() {
        return peopleId;
    }

    public void setPeopleId(Long peopleId) {
        this.peopleId = peopleId;
    }

    public String getClassesName() {
        return classesName;
    }

    public void setClassesName(String classesName) {
        this.classesName = classesName;
    }

    public String getBranchName() {
        return branchName;
    }

    public void setBranchName(String branchName) {
        this.branchName = branchName;
    }

    public String getPeopleName() {
        return peopleName;
    }

    public void setPeopleName(String peopleName) {
        this.peopleName = peopleName;
    }

    public String getWorkTime1() {
        return workTime1;
    }

    public void setWorkTime1(String workTime1) {
        this.workTime1 = workTime1;
    }

    public Date getWorkKqTime1() {
        return workKqTime1;
    }

    public void setWorkKqTime1(Date workKqTime1) {
        this.workKqTime1 = workKqTime1;
    }

    public String getOutTime1() {
        return outTime1;
    }

    public void setOutTime1(String outTime1) {
        this.outTime1 = outTime1;
    }

    public Date getOutKqTime1() {
        return outKqTime1;
    }

    public void setOutKqTime1(Date outKqTime1) {
        this.outKqTime1 = outKqTime1;
    }

    public String getWorkTime2() {
        return workTime2;
    }

    public void setWorkTime2(String workTime2) {
        this.workTime2 = workTime2;
    }

    public Date getWorkKqTime2() {
        return workKqTime2;
    }

    public void setWorkKqTime2(Date workKqTime2) {
        this.workKqTime2 = workKqTime2;
    }

    public String getOutTime2() {
        return outTime2;
    }

    public void setOutTime2(String outTime2) {
        this.outTime2 = outTime2;
    }

    public Date getOutKqTime2() {
        return outKqTime2;
    }

    public void setOutKqTime2(Date outKqTime2) {
        this.outKqTime2 = outKqTime2;
    }

    public Long getClassesNum() {
        return classesNum;
    }

    public void setClassesNum(Long classesNum) {
        this.classesNum = classesNum;
    }

    public String getOverTime() {
        return overTime;
    }

    public void setOverTime(String overTime) {
        this.overTime = overTime;
    }

    public Long getQkcs() {
        return qkcs;
    }

    public void setQkcs(Long qkcs) {
        this.qkcs = qkcs;
    }


    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("groupName", getGroupName())
            .append("kqTime", getKqTime())
            .append("workTime", getWorkTime())
            .append("workKqTime", getWorkKqTime())
            .append("workStatus", getWorkStatus())
            .append("outTime", getOutTime())
            .append("outKqTime", getOutKqTime())
            .append("outStatus", getOutStatus())
            .append("lateTime", getLateTime())
            .append("leaveTime", getLeaveTime())
            .append("workPeriod", getWorkPeriod())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("groupId", getGroupId())
            .append("classesId", getClassesId())
            .append("branchId", getBranchId())
            .toString();
    }
}
