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_RECORD
 */
@TableName(value ="GHJG_DYNAMIC.BUSINESS_SUPERVISION_RECORD")
@Data
public class BusinessSupervisionRecord implements Serializable {
    /**
     * 监管记录文书编号
     */
    @TableField(value = "SUPERVISIONNUMBER")
    private String supervisionnumber;

    /**
     * 检查地址
     */
    @TableField(value = "ADDRESS")
    private String address;

    /**
     * 城建坐标X
     */
    @TableField(value = "MAPX")
    private String mapx;

    /**
     * 城建坐标Y
     */
    @TableField(value = "MAPY")
    private String mapy;

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

    /**
     * 检查开始时间
     */
    @TableField(value = "CHECKSTARTTIME")
    private String checkstarttime;

    /**
     * 检查结束时间
     */
    @TableField(value = "CHECKENDTIME")
    private String checkendtime;

    /**
     * 基本情况
     */
    @TableField(value = "BASICINFO")
    private String basicinfo;

    /**
     * 监管建议
     */
    @TableField(value = "ADVICE")
    private String advice;

    /**
     * 是否后续跟踪
     */
    @TableField(value = "ISFOLLOWUP")
    private Long isfollowup;

    /**
     * 后续跟踪类型：1 落实整改；2 约谈；3 移送；4 通报；
     */
    @TableField(value = "FOLLOWUPTYPE")
    private String followuptype;

    /**
     * 整改日期
     */
    @TableField(value = "REFORMDATE")
    private Date reformdate;

    /**
     * 代表签字
     */
    @TableField(value = "OFFEREESIGNATURE")
    private String offereesignature;

    /**
     * 行业相对人邮箱
     */
    @TableField(value = "EMAIL")
    private String email;

    /**
     * 监管人员
     */
    @TableField(value = "CHECKSTAFF")
    private String checkstaff;

    /**
     * 落款日期
     */
    @TableField(value = "CLOSEDATE")
    private Date closedate;

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

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

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

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

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

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

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

    /**
     * 监管记录文件相对路径
     */
    @TableField(value = "FILEPATH")
    private String filepath;

    /**
     * 监察人联系电话
     */
    @TableField(value = "CHECKCONTACTS")
    private String checkcontacts;

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

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

    /**
     * 监管人员1签名图片路径
     */
    @TableField(value = "CHECKSIMG1")
    private String checksimg1;

    /**
     * 监管人员2签名图片路径
     */
    @TableField(value = "CHECKSIMG2")
    private String checksimg2;

    /**
     * 行业相对人代表签名图片路径
     */
    @TableField(value = "OFFEREEIMG")
    private String offereeimg;

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

    /**
     * 外单位随行检查人员
     */
    @TableField(value = "OTHER_STAFF")
    private String otherStaff;

    @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;
        }
        BusinessSupervisionRecord other = (BusinessSupervisionRecord) that;
        return (this.getSupervisionnumber() == null ? other.getSupervisionnumber() == null : this.getSupervisionnumber().equals(other.getSupervisionnumber()))
            && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
            && (this.getMapx() == null ? other.getMapx() == null : this.getMapx().equals(other.getMapx()))
            && (this.getMapy() == null ? other.getMapy() == null : this.getMapy().equals(other.getMapy()))
            && (this.getCheckdate() == null ? other.getCheckdate() == null : this.getCheckdate().equals(other.getCheckdate()))
            && (this.getCheckstarttime() == null ? other.getCheckstarttime() == null : this.getCheckstarttime().equals(other.getCheckstarttime()))
            && (this.getCheckendtime() == null ? other.getCheckendtime() == null : this.getCheckendtime().equals(other.getCheckendtime()))
            && (this.getBasicinfo() == null ? other.getBasicinfo() == null : this.getBasicinfo().equals(other.getBasicinfo()))
            && (this.getAdvice() == null ? other.getAdvice() == null : this.getAdvice().equals(other.getAdvice()))
            && (this.getIsfollowup() == null ? other.getIsfollowup() == null : this.getIsfollowup().equals(other.getIsfollowup()))
            && (this.getFollowuptype() == null ? other.getFollowuptype() == null : this.getFollowuptype().equals(other.getFollowuptype()))
            && (this.getReformdate() == null ? other.getReformdate() == null : this.getReformdate().equals(other.getReformdate()))
            && (this.getOffereesignature() == null ? other.getOffereesignature() == null : this.getOffereesignature().equals(other.getOffereesignature()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getCheckstaff() == null ? other.getCheckstaff() == null : this.getCheckstaff().equals(other.getCheckstaff()))
            && (this.getClosedate() == null ? other.getClosedate() == null : this.getClosedate().equals(other.getClosedate()))
            && (this.getIssend() == null ? other.getIssend() == null : this.getIssend().equals(other.getIssend()))
            && (this.getIscommit() == null ? other.getIscommit() == null : this.getIscommit().equals(other.getIscommit()))
            && (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.getDeleteflag() == null ? other.getDeleteflag() == null : this.getDeleteflag().equals(other.getDeleteflag()))
            && (this.getFilepath() == null ? other.getFilepath() == null : this.getFilepath().equals(other.getFilepath()))
            && (this.getCheckcontacts() == null ? other.getCheckcontacts() == null : this.getCheckcontacts().equals(other.getCheckcontacts()))
            && (this.getSupervisioncode() == null ? other.getSupervisioncode() == null : this.getSupervisioncode().equals(other.getSupervisioncode()))
            && (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
            && (this.getChecksimg1() == null ? other.getChecksimg1() == null : this.getChecksimg1().equals(other.getChecksimg1()))
            && (this.getChecksimg2() == null ? other.getChecksimg2() == null : this.getChecksimg2().equals(other.getChecksimg2()))
            && (this.getOffereeimg() == null ? other.getOffereeimg() == null : this.getOffereeimg().equals(other.getOffereeimg()))
            && (this.getIstracking() == null ? other.getIstracking() == null : this.getIstracking().equals(other.getIstracking()))
            && (this.getOtherStaff() == null ? other.getOtherStaff() == null : this.getOtherStaff().equals(other.getOtherStaff()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getSupervisionnumber() == null) ? 0 : getSupervisionnumber().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getMapx() == null) ? 0 : getMapx().hashCode());
        result = prime * result + ((getMapy() == null) ? 0 : getMapy().hashCode());
        result = prime * result + ((getCheckdate() == null) ? 0 : getCheckdate().hashCode());
        result = prime * result + ((getCheckstarttime() == null) ? 0 : getCheckstarttime().hashCode());
        result = prime * result + ((getCheckendtime() == null) ? 0 : getCheckendtime().hashCode());
        result = prime * result + ((getBasicinfo() == null) ? 0 : getBasicinfo().hashCode());
        result = prime * result + ((getAdvice() == null) ? 0 : getAdvice().hashCode());
        result = prime * result + ((getIsfollowup() == null) ? 0 : getIsfollowup().hashCode());
        result = prime * result + ((getFollowuptype() == null) ? 0 : getFollowuptype().hashCode());
        result = prime * result + ((getReformdate() == null) ? 0 : getReformdate().hashCode());
        result = prime * result + ((getOffereesignature() == null) ? 0 : getOffereesignature().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getCheckstaff() == null) ? 0 : getCheckstaff().hashCode());
        result = prime * result + ((getClosedate() == null) ? 0 : getClosedate().hashCode());
        result = prime * result + ((getIssend() == null) ? 0 : getIssend().hashCode());
        result = prime * result + ((getIscommit() == null) ? 0 : getIscommit().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 + ((getDeleteflag() == null) ? 0 : getDeleteflag().hashCode());
        result = prime * result + ((getFilepath() == null) ? 0 : getFilepath().hashCode());
        result = prime * result + ((getCheckcontacts() == null) ? 0 : getCheckcontacts().hashCode());
        result = prime * result + ((getSupervisioncode() == null) ? 0 : getSupervisioncode().hashCode());
        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
        result = prime * result + ((getChecksimg1() == null) ? 0 : getChecksimg1().hashCode());
        result = prime * result + ((getChecksimg2() == null) ? 0 : getChecksimg2().hashCode());
        result = prime * result + ((getOffereeimg() == null) ? 0 : getOffereeimg().hashCode());
        result = prime * result + ((getIstracking() == null) ? 0 : getIstracking().hashCode());
        result = prime * result + ((getOtherStaff() == null) ? 0 : getOtherStaff().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", supervisionnumber=").append(supervisionnumber);
        sb.append(", address=").append(address);
        sb.append(", mapx=").append(mapx);
        sb.append(", mapy=").append(mapy);
        sb.append(", checkdate=").append(checkdate);
        sb.append(", checkstarttime=").append(checkstarttime);
        sb.append(", checkendtime=").append(checkendtime);
        sb.append(", basicinfo=").append(basicinfo);
        sb.append(", advice=").append(advice);
        sb.append(", isfollowup=").append(isfollowup);
        sb.append(", followuptype=").append(followuptype);
        sb.append(", reformdate=").append(reformdate);
        sb.append(", offereesignature=").append(offereesignature);
        sb.append(", email=").append(email);
        sb.append(", checkstaff=").append(checkstaff);
        sb.append(", closedate=").append(closedate);
        sb.append(", issend=").append(issend);
        sb.append(", iscommit=").append(iscommit);
        sb.append(", createtime=").append(createtime);
        sb.append(", createstaff=").append(createstaff);
        sb.append(", updatetime=").append(updatetime);
        sb.append(", updatestaff=").append(updatestaff);
        sb.append(", deleteflag=").append(deleteflag);
        sb.append(", filepath=").append(filepath);
        sb.append(", checkcontacts=").append(checkcontacts);
        sb.append(", supervisioncode=").append(supervisioncode);
        sb.append(", code=").append(code);
        sb.append(", checksimg1=").append(checksimg1);
        sb.append(", checksimg2=").append(checksimg2);
        sb.append(", offereeimg=").append(offereeimg);
        sb.append(", istracking=").append(istracking);
        sb.append(", otherStaff=").append(otherStaff);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}