package com.shanghaichengdi.ghjgitem.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 港航行业监管_告知书
 * @TableName BUSINESS_SUPERVISION_INFORM
 */
@TableName(value ="GHJG_DYNAMIC.BUSINESS_SUPERVISION_INFORM")
@Data
public class BusinessSupervisionInform implements Serializable {
    /**
     * 告知书编号
     */
    @TableField(value = "DOCNUMBER")
    private String docnumber;

    /**
     * 企业联系人
     */
    @TableField(value = "UNITCONTACTS")
    private String unitcontacts;

    /**
     * 联系电话
     */
    @TableField(value = "UNITPHONE")
    private String unitphone;

    /**
     * 企业邮箱
     */
    @TableField(value = "UNITEMAIL")
    private String unitemail;

    /**
     * 检查日期
     */
    @TableField(value = "CHECKDATE")
    private Date checkdate;

    /**
     * 检查联系人
     */
    @TableField(value = "CHECKCONTACTS")
    private String checkcontacts;

    /**
     * 检查联系人联系电话
     */
    @TableField(value = "CHECKPHONE")
    private String checkphone;

    /**
     * 告知日期
     */
    @TableField(value = "INFORMDATE")
    private Date informdate;

    /**
     * 创建时间
     */
    @TableField(value = "CREATETIME")
    private Date createtime;

    /**
     * 创建人
     */
    @TableField(value = "CREATESTAFF")
    private String createstaff;

    /**
     * 更新时间
     */
    @TableField(value = "UPDATETIME")
    private Date updatetime;

    /**
     * 更新人
     */
    @TableField(value = "UPDATESTAFF")
    private String updatestaff;

    /**
     * 是否已发送：0未发送；1已发送
     */
    @TableField(value = "ISSEND")
    private Long issend;

    /**
     * 是否已提交：0未提交；1已提交
     */
    @TableField(value = "ISCOMMIT")
    private Long iscommit;

    /**
     * 删除标志：1已删除；0未删除；
     */
    @TableField(value = "DELETEFLAG")
    private Long deleteflag;

    /**
     * 告知书文件相对路径
     */
    @TableField(value = "FILEPATH")
    private String filepath;

    /**
     * 告知书监管内容拼接，pdf生成使用，用户输入
     */
    @TableField(value = "CONTENTTEST")
    private String contenttest;

    /**
     * 主表ID
     */
    @TableField(value = "SUPERVISIONCODE")
    private String supervisioncode;

    /**
     * 主键
     */
    @TableField(value = "CODE")
    private String code;

    /**
     * 文书是否补录 1补录  2新建
     */
    @TableField(value = "ISTRACKING")
    private String istracking;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        BusinessSupervisionInform other = (BusinessSupervisionInform) that;
        return (this.getDocnumber() == null ? other.getDocnumber() == null : this.getDocnumber().equals(other.getDocnumber()))
            && (this.getUnitcontacts() == null ? other.getUnitcontacts() == null : this.getUnitcontacts().equals(other.getUnitcontacts()))
            && (this.getUnitphone() == null ? other.getUnitphone() == null : this.getUnitphone().equals(other.getUnitphone()))
            && (this.getUnitemail() == null ? other.getUnitemail() == null : this.getUnitemail().equals(other.getUnitemail()))
            && (this.getCheckdate() == null ? other.getCheckdate() == null : this.getCheckdate().equals(other.getCheckdate()))
            && (this.getCheckcontacts() == null ? other.getCheckcontacts() == null : this.getCheckcontacts().equals(other.getCheckcontacts()))
            && (this.getCheckphone() == null ? other.getCheckphone() == null : this.getCheckphone().equals(other.getCheckphone()))
            && (this.getInformdate() == null ? other.getInformdate() == null : this.getInformdate().equals(other.getInformdate()))
            && (this.getCreatetime() == null ? other.getCreatetime() == null : this.getCreatetime().equals(other.getCreatetime()))
            && (this.getCreatestaff() == null ? other.getCreatestaff() == null : this.getCreatestaff().equals(other.getCreatestaff()))
            && (this.getUpdatetime() == null ? other.getUpdatetime() == null : this.getUpdatetime().equals(other.getUpdatetime()))
            && (this.getUpdatestaff() == null ? other.getUpdatestaff() == null : this.getUpdatestaff().equals(other.getUpdatestaff()))
            && (this.getIssend() == null ? other.getIssend() == null : this.getIssend().equals(other.getIssend()))
            && (this.getIscommit() == null ? other.getIscommit() == null : this.getIscommit().equals(other.getIscommit()))
            && (this.getDeleteflag() == null ? other.getDeleteflag() == null : this.getDeleteflag().equals(other.getDeleteflag()))
            && (this.getFilepath() == null ? other.getFilepath() == null : this.getFilepath().equals(other.getFilepath()))
            && (this.getContenttest() == null ? other.getContenttest() == null : this.getContenttest().equals(other.getContenttest()))
            && (this.getSupervisioncode() == null ? other.getSupervisioncode() == null : this.getSupervisioncode().equals(other.getSupervisioncode()))
            && (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
            && (this.getIstracking() == null ? other.getIstracking() == null : this.getIstracking().equals(other.getIstracking()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getDocnumber() == null) ? 0 : getDocnumber().hashCode());
        result = prime * result + ((getUnitcontacts() == null) ? 0 : getUnitcontacts().hashCode());
        result = prime * result + ((getUnitphone() == null) ? 0 : getUnitphone().hashCode());
        result = prime * result + ((getUnitemail() == null) ? 0 : getUnitemail().hashCode());
        result = prime * result + ((getCheckdate() == null) ? 0 : getCheckdate().hashCode());
        result = prime * result + ((getCheckcontacts() == null) ? 0 : getCheckcontacts().hashCode());
        result = prime * result + ((getCheckphone() == null) ? 0 : getCheckphone().hashCode());
        result = prime * result + ((getInformdate() == null) ? 0 : getInformdate().hashCode());
        result = prime * result + ((getCreatetime() == null) ? 0 : getCreatetime().hashCode());
        result = prime * result + ((getCreatestaff() == null) ? 0 : getCreatestaff().hashCode());
        result = prime * result + ((getUpdatetime() == null) ? 0 : getUpdatetime().hashCode());
        result = prime * result + ((getUpdatestaff() == null) ? 0 : getUpdatestaff().hashCode());
        result = prime * result + ((getIssend() == null) ? 0 : getIssend().hashCode());
        result = prime * result + ((getIscommit() == null) ? 0 : getIscommit().hashCode());
        result = prime * result + ((getDeleteflag() == null) ? 0 : getDeleteflag().hashCode());
        result = prime * result + ((getFilepath() == null) ? 0 : getFilepath().hashCode());
        result = prime * result + ((getContenttest() == null) ? 0 : getContenttest().hashCode());
        result = prime * result + ((getSupervisioncode() == null) ? 0 : getSupervisioncode().hashCode());
        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
        result = prime * result + ((getIstracking() == null) ? 0 : getIstracking().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", docnumber=").append(docnumber);
        sb.append(", unitcontacts=").append(unitcontacts);
        sb.append(", unitphone=").append(unitphone);
        sb.append(", unitemail=").append(unitemail);
        sb.append(", checkdate=").append(checkdate);
        sb.append(", checkcontacts=").append(checkcontacts);
        sb.append(", checkphone=").append(checkphone);
        sb.append(", informdate=").append(informdate);
        sb.append(", createtime=").append(createtime);
        sb.append(", createstaff=").append(createstaff);
        sb.append(", updatetime=").append(updatetime);
        sb.append(", updatestaff=").append(updatestaff);
        sb.append(", issend=").append(issend);
        sb.append(", iscommit=").append(iscommit);
        sb.append(", deleteflag=").append(deleteflag);
        sb.append(", filepath=").append(filepath);
        sb.append(", contenttest=").append(contenttest);
        sb.append(", supervisioncode=").append(supervisioncode);
        sb.append(", code=").append(code);
        sb.append(", istracking=").append(istracking);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}