package com.mortals.xhx.module.appointment.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.appointment.model.vo.AppointmentPersonVo;
/**
 * 预约人员记录实体对象
 *
 * @author zxfei
 * @date 2023-04-16
 */

public class AppointmentPersonEntity extends AppointmentPersonVo {
    private static final long serialVersionUID = 1L;

    /**
     * 站点Id
     */
    private Long siteId;
    /**
     * 站点名称
     */
    private String siteName;
    /**
     * 人员id
     */
    @Excel(name = "人员id")
    private Long personId;
    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;
    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    private String contactInfo;
    /**
     * 身份证号码
     */
    @Excel(name = "身份证号码")
    private String idCard;
    /**
     * 业务Id
     */
    private Long bussinessId;
    /**
     * 预约业务
     */
    @Excel(name = "预约业务")
    private String bussinessName;
    /**
     * 预约编号
     */
    @Excel(name = "预约编号")
    private String appontmentNumber;
    /**
     * 预约开始时间
     */
    @Excel(name = "预约开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentStartTime;
    /**
     * 预约结束时间
     */
    @Excel(name = "预约结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentEndTime;



    public AppointmentPersonEntity(){}
    /**
     * 获取 站点Id
     * @return Long
     */
    public Long getSiteId(){
        return siteId;
    }
    /**
     * 设置 站点Id
     * @param siteId
     */
    public void setSiteId(Long siteId){
        this.siteId = siteId;
    }
    /**
     * 获取 站点名称
     * @return String
     */
    public String getSiteName(){
        return siteName;
    }
    /**
     * 设置 站点名称
     * @param siteName
     */
    public void setSiteName(String siteName){
        this.siteName = siteName;
    }
    /**
     * 获取 人员id
     * @return Long
     */
    public Long getPersonId(){
        return personId;
    }
    /**
     * 设置 人员id
     * @param personId
     */
    public void setPersonId(Long personId){
        this.personId = personId;
    }
    /**
     * 获取 姓名
     * @return String
     */
    public String getName(){
        return name;
    }
    /**
     * 设置 姓名
     * @param name
     */
    public void setName(String name){
        this.name = name;
    }
    /**
     * 获取 联系方式
     * @return String
     */
    public String getContactInfo(){
        return contactInfo;
    }
    /**
     * 设置 联系方式
     * @param contactInfo
     */
    public void setContactInfo(String contactInfo){
        this.contactInfo = contactInfo;
    }
    /**
     * 获取 身份证号码
     * @return String
     */
    public String getIdCard(){
        return idCard;
    }
    /**
     * 设置 身份证号码
     * @param idCard
     */
    public void setIdCard(String idCard){
        this.idCard = idCard;
    }
    /**
     * 获取 业务Id
     * @return Long
     */
    public Long getBussinessId(){
        return bussinessId;
    }
    /**
     * 设置 业务Id
     * @param bussinessId
     */
    public void setBussinessId(Long bussinessId){
        this.bussinessId = bussinessId;
    }
    /**
     * 获取 预约业务
     * @return String
     */
    public String getBussinessName(){
        return bussinessName;
    }
    /**
     * 设置 预约业务
     * @param bussinessName
     */
    public void setBussinessName(String bussinessName){
        this.bussinessName = bussinessName;
    }
    /**
     * 获取 预约编号
     * @return String
     */
    public String getAppontmentNumber(){
        return appontmentNumber;
    }
    /**
     * 设置 预约编号
     * @param appontmentNumber
     */
    public void setAppontmentNumber(String appontmentNumber){
        this.appontmentNumber = appontmentNumber;
    }
    /**
     * 获取 预约开始时间
     * @return Date
     */
    public Date getAppointmentStartTime(){
        return appointmentStartTime;
    }
    /**
     * 设置 预约开始时间
     * @param appointmentStartTime
     */
    public void setAppointmentStartTime(Date appointmentStartTime){
        this.appointmentStartTime = appointmentStartTime;
    }
    /**
     * 获取 预约结束时间
     * @return Date
     */
    public Date getAppointmentEndTime(){
        return appointmentEndTime;
    }
    /**
     * 设置 预约结束时间
     * @param appointmentEndTime
     */
    public void setAppointmentEndTime(Date appointmentEndTime){
        this.appointmentEndTime = appointmentEndTime;
    }




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

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",siteId:").append(getSiteId());
        sb.append(",siteName:").append(getSiteName());
        sb.append(",personId:").append(getPersonId());
        sb.append(",name:").append(getName());
        sb.append(",contactInfo:").append(getContactInfo());
        sb.append(",idCard:").append(getIdCard());
        sb.append(",bussinessId:").append(getBussinessId());
        sb.append(",bussinessName:").append(getBussinessName());
        sb.append(",appontmentNumber:").append(getAppontmentNumber());
        sb.append(",appointmentStartTime:").append(getAppointmentStartTime());
        sb.append(",appointmentEndTime:").append(getAppointmentEndTime());
        return sb.toString();
    }

    public void initAttrValue(){

        this.siteId = null;

        this.siteName = "";

        this.personId = null;

        this.name = "";

        this.contactInfo = "";

        this.idCard = "";

        this.bussinessId = null;

        this.bussinessName = "";

        this.appontmentNumber = "";

        this.appointmentStartTime = null;

        this.appointmentEndTime = null;
    }
}