package com.mortals.xhx.module.ph.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.annotation.desensitization.IdCardDesensitize;
import com.mortals.framework.annotation.desensitization.MobileDesensitize;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.ph.model.vo.PhQueueVo;
import lombok.Data;
/**
* 排号汇总实体对象
*
* @author zxfei
* @date 2024-05-27
*/
@Data
public class PhQueueEntity extends PhQueueVo {
    private static final long serialVersionUID = 1L;

    /**
    * 预约编号，为空现场取号
    */
    private String ordernumber;
    /**
    * 叫号状态 (未叫号,叫号中,完成)
    */
    private String style;
    /**
    * 业务名
    */
    private String business;
    /**
    * 窗口名
    */
    private String windowName;
    /**
    * 窗口编号
    */
    private String windowFromnum;
    /**
    * 流水编号,当天的第xxx号
    */
    private String flownum;
    /**
    * 呼叫转移号
    */
    private String formernum;
    /**
    * 身份证号
    */
    @IdCardDesensitize
    private String peopleIdcard;
    /**
    * 姓名
    */
    private String peopleName;
    /**
    * 性别
    */
    private String peopleSex;
    /**
    * 手机号
    */
    @MobileDesensitize
    private String peoplePhone;
    /**
    * 工作人员姓名
    */
    private String workmanName;
    /**
    * 工作人员工号
    */
    private String workmanNumber;
    /**
    * 取号时间
    */
    private Date taketime;
    /**
    * 叫号时间
    */
    private Date calltime;
    /**
    * 结束时间
    */
    private Date endtime;
    /**
    * 等待时间,单位s
    */
    private Integer waitTime;
    /**
    * 办理时间,单位s
    */
    private Integer handleTime;
    /**
    * 取号设备名
    */
    private String deviceName;
    /**
    * 呼叫设备
    */
    private String callName;
    /**
    * 事项名
    */
    private String matterName;
    /**
    * 排号队列ID，唯一
    */
    private String queueid;
    /**
    * 取号方式 (现场取号,微信取号)
    */
    private String wySignin;
    /**
    * 部门名称
    */
    private String sectionName;
    /**
    * 大厅名称
    */
    private String hallName;
    /**
    * 取号设备类型
    */
    private String deviceType;
    /**
    * 站点Id
    */
    private Long siteId;
    /**
    * 站点编码
    */
    private String siteCode;
    /**
    * 站点名称
    */
    private String siteName;
    /**
    * 扩展编号
    */
    private String extNum;
    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof PhQueueEntity) {
            PhQueueEntity tmp = (PhQueueEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public void initAttrValue(){
            this.ordernumber = "";
            this.style = "未叫号";
            this.business = "";
            this.windowName = "";
            this.windowFromnum = "";
            this.flownum = "";
            this.formernum = "";
            this.peopleIdcard = "";
            this.peopleName = "";
            this.peopleSex = "";
            this.peoplePhone = "";
            this.workmanName = "";
            this.workmanNumber = "";
            this.taketime = null;
            this.calltime = null;
            this.endtime = null;
            this.waitTime = 0;
            this.handleTime = 0;
            this.deviceName = "";
            this.callName = "";
            this.matterName = "";
            this.queueid = "";
            this.wySignin = "现场取号";
            this.sectionName = "";
            this.hallName = "";
            this.deviceType = "排号机";
            this.siteId = 0L;
            this.siteCode = "";
            this.siteName = "";
            this.extNum = "";
    }
}