package com.mortals.xhx.module.care.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.care.model.vo.CareRecordsVo;
/**
* 预约关怀记录实体对象
*
* @author zxfei
* @date 2023-04-09
*/

public class CareRecordsEntity extends CareRecordsVo {
    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 contact;
    /**
    * 身份证号码
    */
    @Excel(name = "身份证号码")
    private String idCard;
    /**
    * 办理业务
    */
    @Excel(name = "办理业务")
    private String service;
    /**
    * 排队编号
    */
    @Excel(name = "排队编号")
    private String queueNo;
    /**
    * 监测时间
    */
    @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monitorTime;
    /**
    * 监测设备id
    */
    @Excel(name = "监测设备id")
    private Long monitorDeviceId;
    /**
    * 监测设备
    */
    @Excel(name = "监测设备")
    private String monitorDevice;
    /**
    * 最终等待时长，秒
    */
    @Excel(name = "最终等待时长，秒")
    private Long waitTime;
    /**
    * 办理状态(排队中.排队中,办理中.办理中,接件结束.接件结束)
    */
    @Excel(name = "办理状态", readConverterExp = "排队中=排队中,办理中.办理中,接件结束.接件结束")
    private String processStatus;



    public CareRecordsEntity(){}
    /**
    * 获取 站点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 getContact(){
        return contact;
    }
    /**
    * 设置 联系方式
    * @param contact
    */
    public void setContact(String contact){
        this.contact = contact;
    }
    /**
    * 获取 身份证号码
    * @return String
    */
    public String getIdCard(){
        return idCard;
    }
    /**
    * 设置 身份证号码
    * @param idCard
    */
    public void setIdCard(String idCard){
        this.idCard = idCard;
    }
    /**
    * 获取 办理业务
    * @return String
    */
    public String getService(){
        return service;
    }
    /**
    * 设置 办理业务
    * @param service
    */
    public void setService(String service){
        this.service = service;
    }
    /**
    * 获取 排队编号
    * @return String
    */
    public String getQueueNo(){
        return queueNo;
    }
    /**
    * 设置 排队编号
    * @param queueNo
    */
    public void setQueueNo(String queueNo){
        this.queueNo = queueNo;
    }
    /**
    * 获取 监测时间
    * @return Date
    */
    public Date getMonitorTime(){
        return monitorTime;
    }
    /**
    * 设置 监测时间
    * @param monitorTime
    */
    public void setMonitorTime(Date monitorTime){
        this.monitorTime = monitorTime;
    }
    /**
    * 获取 监测设备id
    * @return Long
    */
    public Long getMonitorDeviceId(){
        return monitorDeviceId;
    }
    /**
    * 设置 监测设备id
    * @param monitorDeviceId
    */
    public void setMonitorDeviceId(Long monitorDeviceId){
        this.monitorDeviceId = monitorDeviceId;
    }
    /**
    * 获取 监测设备
    * @return String
    */
    public String getMonitorDevice(){
        return monitorDevice;
    }
    /**
    * 设置 监测设备
    * @param monitorDevice
    */
    public void setMonitorDevice(String monitorDevice){
        this.monitorDevice = monitorDevice;
    }
    /**
    * 获取 最终等待时长，秒
    * @return Long
    */
    public Long getWaitTime(){
        return waitTime;
    }
    /**
    * 设置 最终等待时长，秒
    * @param waitTime
    */
    public void setWaitTime(Long waitTime){
        this.waitTime = waitTime;
    }
    /**
    * 获取 办理状态(排队中.排队中,办理中.办理中,接件结束.接件结束)
    * @return String
    */
    public String getProcessStatus(){
        return processStatus;
    }
    /**
    * 设置 办理状态(排队中.排队中,办理中.办理中,接件结束.接件结束)
    * @param processStatus
    */
    public void setProcessStatus(String processStatus){
        this.processStatus = processStatus;
    }




    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof CareRecordsEntity) {
            CareRecordsEntity tmp = (CareRecordsEntity) 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(",contact:").append(getContact());
        sb.append(",idCard:").append(getIdCard());
        sb.append(",service:").append(getService());
        sb.append(",queueNo:").append(getQueueNo());
        sb.append(",monitorTime:").append(getMonitorTime());
        sb.append(",monitorDeviceId:").append(getMonitorDeviceId());
        sb.append(",monitorDevice:").append(getMonitorDevice());
        sb.append(",waitTime:").append(getWaitTime());
        sb.append(",processStatus:").append(getProcessStatus());
        return sb.toString();
    }

    public void initAttrValue(){

            this.siteId = null;

            this.siteName = "";

            this.personId = null;

            this.name = "";

            this.contact = "";

            this.idCard = "";

            this.service = "";

            this.queueNo = "";

            this.monitorTime = null;

            this.monitorDeviceId = null;

            this.monitorDevice = "";

            this.waitTime = null;

            this.processStatus = "";
    }
}