package com.mortals.xhx.module.pj.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.pj.model.vo.PjEvaluateVo;
import lombok.Data;
/**
* 评价汇总实体对象
*
* @author zxfei
* @date 2024-05-27
*/
@Data
public class PjEvaluateEntity extends PjEvaluateVo {
    private static final long serialVersionUID = 1L;

    /**
    * 评价人身份证号
    */
    @IdCardDesensitize
    private String peopleIdcard;
    /**
    * 评价人姓名
    */
    private String peopleName;
    /**
    * 评价人性别
    */
    private String peopleSex;
    /**
    * 评价人手机号
    */
    @MobileDesensitize
    private String peoplePhone;
    /**
    * 评价选项(非常满意,满意,基本满意,不满意,非常不满意)
    */
    private String pjOption;
    /**
    * 评价标签
    */
    private String contentTag;
    /**
    * 评价人图片地址
    */
    private String picUrl;
    /**
    * 部门
    */
    private String sectionName;
    /**
    * 大厅
    */
    private String hallName;
    /**
    * 评价来源 (安卓,导视机,微信)
    */
    private String pjSource;
    /**
    * 手输意见
    */
    private String opinion;
    /**
    * 窗口名
    */
    private String windowName;
    /**
    * 窗口编号
    */
    private String windowFromnum;
    /**
    * 排号编号
    */
    private String flounum;
    /**
    * 窗口评价(自助服务终端,背靠背评价,微官网)
    */
    private String pjxt;
    /**
    * 工作人员姓名
    */
    private String workmanName;
    /**
    * 工作人员工号
    */
    private String workmanNumber;
    /**
    * 评价器mac
    */
    private String devicenum;
    /**
    * 评价状态(等待评价,完成,截图有误,用户截图签名超时,用户评价超时,收到图片等待签名
    */
    private String evaluatestatus;
    /**
    * 截图还是评价 (截图,评价)
    */
    private String evaluatetype;
    /**
    * 截图地址
    */
    private String photobefor;
    /**
    * 签字图片
    */
    private String photoautograph;
    /**
    * 抓拍评价人照片
    */
    private String picture;
    /**
    * 音频视频地址
    */
    private String process;
    /**
    * 评价标记 (未标记,标记非恶意差评,标记恶意差评)
    */
    private String eyevaluate;
    /**
    * 评价指向 (窗口评价,部门评价,排号评价)
    */
    private String pjType;
    /**
    * 评价时间
    */
    private Date pjTime;
    /**
    * 站点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 PjEvaluateEntity) {
            PjEvaluateEntity tmp = (PjEvaluateEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public void initAttrValue(){
            this.peopleIdcard = "";
            this.peopleName = "";
            this.peopleSex = "";
            this.peoplePhone = "";
            this.pjOption = "";
            this.contentTag = "";
            this.picUrl = "";
            this.sectionName = "";
            this.hallName = "";
            this.pjSource = "";
            this.opinion = "";
            this.windowName = "";
            this.windowFromnum = "";
            this.flounum = "";
            this.pjxt = "窗口评价";
            this.workmanName = "";
            this.workmanNumber = "";
            this.devicenum = "";
            this.evaluatestatus = "等待评价";
            this.evaluatetype = "截图";
            this.photobefor = "";
            this.photoautograph = "";
            this.picture = "";
            this.process = "";
            this.eyevaluate = "未标记";
            this.pjType = "窗口评价";
            this.pjTime = null;
            this.siteId = 0L;
            this.siteCode = "";
            this.siteName = "";
            this.extNum = "";
    }
}