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

public class RealtimeDataflowEntity extends RealtimeDataflowVo {
    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 device;
    /**
     * 监测时间
     */
    @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date detectTime;
    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    private String contact;
    /**
     * 身份证号码
     */
    @Excel(name = "身份证号码")
    private String idNumber;
    /**
     * 是否预约(0.否，1.是)
     */
    @Excel(name = "是否预约", readConverterExp = "0=否,1=是")
    private Integer isBooking;
    /**
     * 排队编码
     */
    @Excel(name = "排队编码")
    private String queueNum;
    /**
     * 办理位置
     */
    @Excel(name = "办理位置")
    private String location;
    /**
     * 识别截图
     */
    @Excel(name = "识别截图")
    private String picture;
    /**
     * 相对图片pic
     */
    private String picUri;
    /**
     * 图片资源唯一标识
     */
    private String serverIndexCode;
    /**
     * 事件id
     */
    private String eventId;
    /**
     * 事件类型
     */
    @Excel(name = "事件类型")
    private Long eventType;



    public RealtimeDataflowEntity(){}
    /**
     * 获取 站点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 getDevice(){
        return device;
    }
    /**
     * 设置 监测设备
     * @param device
     */
    public void setDevice(String device){
        this.device = device;
    }
    /**
     * 获取 监测时间
     * @return Date
     */
    public Date getDetectTime(){
        return detectTime;
    }
    /**
     * 设置 监测时间
     * @param detectTime
     */
    public void setDetectTime(Date detectTime){
        this.detectTime = detectTime;
    }
    /**
     * 获取 联系方式
     * @return String
     */
    public String getContact(){
        return contact;
    }
    /**
     * 设置 联系方式
     * @param contact
     */
    public void setContact(String contact){
        this.contact = contact;
    }
    /**
     * 获取 身份证号码
     * @return String
     */
    public String getIdNumber(){
        return idNumber;
    }
    /**
     * 设置 身份证号码
     * @param idNumber
     */
    public void setIdNumber(String idNumber){
        this.idNumber = idNumber;
    }
    /**
     * 获取 是否预约(0.否，1.是)
     * @return Integer
     */
    public Integer getIsBooking(){
        return isBooking;
    }
    /**
     * 设置 是否预约(0.否，1.是)
     * @param isBooking
     */
    public void setIsBooking(Integer isBooking){
        this.isBooking = isBooking;
    }
    /**
     * 获取 排队编码
     * @return String
     */
    public String getQueueNum(){
        return queueNum;
    }
    /**
     * 设置 排队编码
     * @param queueNum
     */
    public void setQueueNum(String queueNum){
        this.queueNum = queueNum;
    }
    /**
     * 获取 办理位置
     * @return String
     */
    public String getLocation(){
        return location;
    }
    /**
     * 设置 办理位置
     * @param location
     */
    public void setLocation(String location){
        this.location = location;
    }
    /**
     * 获取 识别截图
     * @return String
     */
    public String getPicture(){
        return picture;
    }
    /**
     * 设置 识别截图
     * @param picture
     */
    public void setPicture(String picture){
        this.picture = picture;
    }
    /**
     * 获取 相对图片pic
     * @return String
     */
    public String getPicUri(){
        return picUri;
    }
    /**
     * 设置 相对图片pic
     * @param picUri
     */
    public void setPicUri(String picUri){
        this.picUri = picUri;
    }
    /**
     * 获取 图片资源唯一标识
     * @return String
     */
    public String getServerIndexCode(){
        return serverIndexCode;
    }
    /**
     * 设置 图片资源唯一标识
     * @param serverIndexCode
     */
    public void setServerIndexCode(String serverIndexCode){
        this.serverIndexCode = serverIndexCode;
    }
    /**
     * 获取 事件id
     * @return String
     */
    public String getEventId(){
        return eventId;
    }
    /**
     * 设置 事件id
     * @param eventId
     */
    public void setEventId(String eventId){
        this.eventId = eventId;
    }
    /**
     * 获取 事件类型
     * @return Long
     */
    public Long getEventType(){
        return eventType;
    }
    /**
     * 设置 事件类型
     * @param eventType
     */
    public void setEventType(Long eventType){
        this.eventType = eventType;
    }




    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof RealtimeDataflowEntity) {
            RealtimeDataflowEntity tmp = (RealtimeDataflowEntity) 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(",device:").append(getDevice());
        sb.append(",detectTime:").append(getDetectTime());
        sb.append(",contact:").append(getContact());
        sb.append(",idNumber:").append(getIdNumber());
        sb.append(",isBooking:").append(getIsBooking());
        sb.append(",queueNum:").append(getQueueNum());
        sb.append(",location:").append(getLocation());
        sb.append(",picture:").append(getPicture());
        sb.append(",picUri:").append(getPicUri());
        sb.append(",serverIndexCode:").append(getServerIndexCode());
        sb.append(",eventId:").append(getEventId());
        sb.append(",eventType:").append(getEventType());
        return sb.toString();
    }

    public void initAttrValue(){

        this.siteId = null;

        this.siteName = "";

        this.personId = null;

        this.name = "";

        this.device = "";

        this.detectTime = null;

        this.contact = "";

        this.idNumber = "";

        this.isBooking = 0;

        this.queueNum = "";

        this.location = "";

        this.picture = "";

        this.picUri = "";

        this.serverIndexCode = "";

        this.eventId = "";

        this.eventType = null;
    }
}