package com.mortals.xhx.module.attendance.model;

import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordHikVo;
/**
* 海康考勤打卡记录汇总信息实体对象
*
* @author zxfei
* @date 2023-04-08
*/

public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
    private static final long serialVersionUID = 1L;

    /**
    * 员工ID
    */
    private Long staffId;
    /**
    * 员工姓名
    */
    @Excel(name = "员工姓名")
    private String staffName;
    /**
    * 工号
    */
    @Excel(name = "工号")
    private String workNum;
    /**
    * 所属部门
    */
    private Long deptId;
    /**
    * 所属部门名称
    */
    @Excel(name = "所属部门名称")
    private String deptName;
    /**
    * 职位ID
    */
    private Long positionId;
    /**
    * 职位名称
    */
    @Excel(name = "职位名称")
    private String positionName;
    /**
    * 所属考勤组ID
    */
    private Long attendanceGroupId;
    /**
    * 所属考勤组名称
    */
    @Excel(name = "所属考勤组名称")
    private String attendanceGroupName;
    /**
    * 班次ID
    */
    private Long shiftsId;
    /**
    * 班次名称
    */
    @Excel(name = "班次名称")
    private String shiftsName;
    /**
    * 考勤日期
    */
    @Excel(name = "考勤日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date attendanceDate;
    /**
    * 考勤点名称
    */
    @Excel(name = "考勤点名称")
    private String attendanceAddress;
    /**
    * 事件源
    */
    @Excel(name = "事件源")
    private String eventSource;
    /**
    * 备注
    */
    private String remark;



    public AttendanceRecordHikEntity(){}
    /**
    * 获取 员工ID
    * @return Long
    */
    public Long getStaffId(){
        return staffId;
    }
    /**
    * 设置 员工ID
    * @param staffId
    */
    public void setStaffId(Long staffId){
        this.staffId = staffId;
    }
    /**
    * 获取 员工姓名
    * @return String
    */
    public String getStaffName(){
        return staffName;
    }
    /**
    * 设置 员工姓名
    * @param staffName
    */
    public void setStaffName(String staffName){
        this.staffName = staffName;
    }
    /**
    * 获取 工号
    * @return String
    */
    public String getWorkNum(){
        return workNum;
    }
    /**
    * 设置 工号
    * @param workNum
    */
    public void setWorkNum(String workNum){
        this.workNum = workNum;
    }
    /**
    * 获取 所属部门
    * @return Long
    */
    public Long getDeptId(){
        return deptId;
    }
    /**
    * 设置 所属部门
    * @param deptId
    */
    public void setDeptId(Long deptId){
        this.deptId = deptId;
    }
    /**
    * 获取 所属部门名称
    * @return String
    */
    public String getDeptName(){
        return deptName;
    }
    /**
    * 设置 所属部门名称
    * @param deptName
    */
    public void setDeptName(String deptName){
        this.deptName = deptName;
    }
    /**
    * 获取 职位ID
    * @return Long
    */
    public Long getPositionId(){
        return positionId;
    }
    /**
    * 设置 职位ID
    * @param positionId
    */
    public void setPositionId(Long positionId){
        this.positionId = positionId;
    }
    /**
    * 获取 职位名称
    * @return String
    */
    public String getPositionName(){
        return positionName;
    }
    /**
    * 设置 职位名称
    * @param positionName
    */
    public void setPositionName(String positionName){
        this.positionName = positionName;
    }
    /**
    * 获取 所属考勤组ID
    * @return Long
    */
    public Long getAttendanceGroupId(){
        return attendanceGroupId;
    }
    /**
    * 设置 所属考勤组ID
    * @param attendanceGroupId
    */
    public void setAttendanceGroupId(Long attendanceGroupId){
        this.attendanceGroupId = attendanceGroupId;
    }
    /**
    * 获取 所属考勤组名称
    * @return String
    */
    public String getAttendanceGroupName(){
        return attendanceGroupName;
    }
    /**
    * 设置 所属考勤组名称
    * @param attendanceGroupName
    */
    public void setAttendanceGroupName(String attendanceGroupName){
        this.attendanceGroupName = attendanceGroupName;
    }
    /**
    * 获取 班次ID
    * @return Long
    */
    public Long getShiftsId(){
        return shiftsId;
    }
    /**
    * 设置 班次ID
    * @param shiftsId
    */
    public void setShiftsId(Long shiftsId){
        this.shiftsId = shiftsId;
    }
    /**
    * 获取 班次名称
    * @return String
    */
    public String getShiftsName(){
        return shiftsName;
    }
    /**
    * 设置 班次名称
    * @param shiftsName
    */
    public void setShiftsName(String shiftsName){
        this.shiftsName = shiftsName;
    }
    /**
    * 获取 考勤日期
    * @return Date
    */
    public Date getAttendanceDate(){
        return attendanceDate;
    }
    /**
    * 设置 考勤日期
    * @param attendanceDate
    */
    public void setAttendanceDate(Date attendanceDate){
        this.attendanceDate = attendanceDate;
    }
    /**
    * 获取 考勤点名称
    * @return String
    */
    public String getAttendanceAddress(){
        return attendanceAddress;
    }
    /**
    * 设置 考勤点名称
    * @param attendanceAddress
    */
    public void setAttendanceAddress(String attendanceAddress){
        this.attendanceAddress = attendanceAddress;
    }
    /**
    * 获取 事件源
    * @return String
    */
    public String getEventSource(){
        return eventSource;
    }
    /**
    * 设置 事件源
    * @param eventSource
    */
    public void setEventSource(String eventSource){
        this.eventSource = eventSource;
    }
    /**
    * 获取 备注
    * @return String
    */
    public String getRemark(){
        return remark;
    }
    /**
    * 设置 备注
    * @param remark
    */
    public void setRemark(String remark){
        this.remark = remark;
    }




    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof AttendanceRecordHikEntity) {
            AttendanceRecordHikEntity tmp = (AttendanceRecordHikEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",staffId:").append(getStaffId());
        sb.append(",staffName:").append(getStaffName());
        sb.append(",workNum:").append(getWorkNum());
        sb.append(",deptId:").append(getDeptId());
        sb.append(",deptName:").append(getDeptName());
        sb.append(",positionId:").append(getPositionId());
        sb.append(",positionName:").append(getPositionName());
        sb.append(",attendanceGroupId:").append(getAttendanceGroupId());
        sb.append(",attendanceGroupName:").append(getAttendanceGroupName());
        sb.append(",shiftsId:").append(getShiftsId());
        sb.append(",shiftsName:").append(getShiftsName());
        sb.append(",attendanceDate:").append(getAttendanceDate());
        sb.append(",attendanceAddress:").append(getAttendanceAddress());
        sb.append(",eventSource:").append(getEventSource());
        sb.append(",remark:").append(getRemark());
        return sb.toString();
    }

    public void initAttrValue(){

            this.staffId = null;

            this.staffName = "";

            this.workNum = "";

            this.deptId = null;

            this.deptName = "";

            this.positionId = null;

            this.positionName = "";

            this.attendanceGroupId = null;

            this.attendanceGroupName = "";

            this.shiftsId = null;

            this.shiftsName = "";

            this.attendanceDate = null;

            this.attendanceAddress = "";

            this.eventSource = "";

            this.remark = "";
    }
}