package com.mortals.xhx.module.attendance.model;
import java.util.List;
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.AttendanceClassVo;
import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity;
/**
* 考勤班次信息实体对象
*
* @author zxfei
* @date 2023-04-07
*/

public class AttendanceClassEntity extends AttendanceClassVo {
    private static final long serialVersionUID = 1L;

    /**
    * 班次名称
    */
    private String className;
    /**
    * 班次负责人ID
    */
    private Long classResponsiblePersonId;
    /**
    * 班次负责人名称
    */
    private String classResponsiblePersonName;
    /**
    * 备注
    */
    private String remark;

    /**
    * 考勤班次详细信息信息
    */
    private List<AttendanceClassDetailEntity> attendanceClassDetailList=new ArrayList<>();;


    public AttendanceClassEntity(){}
    /**
    * 获取 班次名称
    * @return String
    */
    public String getClassName(){
        return className;
    }
    /**
    * 设置 班次名称
    * @param className
    */
    public void setClassName(String className){
        this.className = className;
    }
    /**
    * 获取 班次负责人ID
    * @return Long
    */
    public Long getClassResponsiblePersonId(){
        return classResponsiblePersonId;
    }
    /**
    * 设置 班次负责人ID
    * @param classResponsiblePersonId
    */
    public void setClassResponsiblePersonId(Long classResponsiblePersonId){
        this.classResponsiblePersonId = classResponsiblePersonId;
    }
    /**
    * 获取 班次负责人名称
    * @return String
    */
    public String getClassResponsiblePersonName(){
        return classResponsiblePersonName;
    }
    /**
    * 设置 班次负责人名称
    * @param classResponsiblePersonName
    */
    public void setClassResponsiblePersonName(String classResponsiblePersonName){
        this.classResponsiblePersonName = classResponsiblePersonName;
    }
    /**
    * 获取 备注
    * @return String
    */
    public String getRemark(){
        return remark;
    }
    /**
    * 设置 备注
    * @param remark
    */
    public void setRemark(String remark){
        this.remark = remark;
    }


    public List<AttendanceClassDetailEntity> getAttendanceClassDetailList(){
      return attendanceClassDetailList;
    }

    public void setAttendanceClassDetailList(List<AttendanceClassDetailEntity> attendanceClassDetailList){
        this.attendanceClassDetailList = attendanceClassDetailList;
    }


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

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",className:").append(getClassName());
        sb.append(",classResponsiblePersonId:").append(getClassResponsiblePersonId());
        sb.append(",classResponsiblePersonName:").append(getClassResponsiblePersonName());
        sb.append(",remark:").append(getRemark());
        return sb.toString();
    }

    public void initAttrValue(){

            this.className = "";

            this.classResponsiblePersonId = null;

            this.classResponsiblePersonName = "";

            this.remark = "";
    }
}