package com.shanghaichengdi.ghjgitem.domain;

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

/**
 * 组织机构基础信息表（从综合业务平台同步的组织机构信息）
 * @TableName SYS_GROUP
 */
@TableName(value ="SYS_GROUP")
@Data
public class SysGroup implements Serializable {
    /**
     * 
     */
    @TableId(value = "ID")
    private String id;

    /**
     * 
     */
    @TableField(value = "IDENTITY")
    private String identity;

    /**
     * 
     */
    @TableField(value = "NAME")
    private String name;

    /**
     * 
     */
    @TableField(value = "PARENT_ID")
    private String parentId;

    /**
     * 
     */
    @TableField(value = "NO")
    private Integer no;

    /**
     * 
     */
    @TableField(value = "PATH")
    private String path;

    /**
     * 
     */
    @TableField(value = "DEPTH_LEVEL")
    private Integer depthLevel;

    /**
     * 
     */
    @TableField(value = "AVAILABLE")
    private Integer available;

    /**
     * 
     */
    @TableField(value = "IS_DEFAULT")
    private Integer isDefault;

    /**
     * 
     */
    @TableField(value = "PROPERTY1")
    private String property1;

    /**
     * 
     */
    @TableField(value = "PROPERTY2")
    private String property2;

    /**
     * 
     */
    @TableField(value = "PROPERTY3")
    private String property3;

    /**
     * 
     */
    @TableField(value = "PROPERTY4")
    private String property4;

    /**
     * 
     */
    @TableField(value = "PROPERTY5")
    private String property5;

    /**
     * 
     */
    @TableField(value = "PROPERTY6")
    private String property6;

    /**
     * 
     */
    @TableField(value = "PROPERTY7")
    private String property7;

    /**
     * 市级或区级交通委，1是市级，0是区级
     */
    @TableField(value = "PROPERTY8")
    private String property8;

    /**
     * 是否行政审批单位，0：不是，1：是
     */
    @TableField(value = "PROPERTY9")
    private String property9;

    /**
     * 
     */
    @TableField(value = "PROPERTY10")
    private String property10;

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

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

    @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;
        }
        SysGroup other = (SysGroup) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getIdentity() == null ? other.getIdentity() == null : this.getIdentity().equals(other.getIdentity()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getParentId() == null ? other.getParentId() == null : this.getParentId().equals(other.getParentId()))
            && (this.getNo() == null ? other.getNo() == null : this.getNo().equals(other.getNo()))
            && (this.getPath() == null ? other.getPath() == null : this.getPath().equals(other.getPath()))
            && (this.getDepthLevel() == null ? other.getDepthLevel() == null : this.getDepthLevel().equals(other.getDepthLevel()))
            && (this.getAvailable() == null ? other.getAvailable() == null : this.getAvailable().equals(other.getAvailable()))
            && (this.getIsDefault() == null ? other.getIsDefault() == null : this.getIsDefault().equals(other.getIsDefault()))
            && (this.getProperty1() == null ? other.getProperty1() == null : this.getProperty1().equals(other.getProperty1()))
            && (this.getProperty2() == null ? other.getProperty2() == null : this.getProperty2().equals(other.getProperty2()))
            && (this.getProperty3() == null ? other.getProperty3() == null : this.getProperty3().equals(other.getProperty3()))
            && (this.getProperty4() == null ? other.getProperty4() == null : this.getProperty4().equals(other.getProperty4()))
            && (this.getProperty5() == null ? other.getProperty5() == null : this.getProperty5().equals(other.getProperty5()))
            && (this.getProperty6() == null ? other.getProperty6() == null : this.getProperty6().equals(other.getProperty6()))
            && (this.getProperty7() == null ? other.getProperty7() == null : this.getProperty7().equals(other.getProperty7()))
            && (this.getProperty8() == null ? other.getProperty8() == null : this.getProperty8().equals(other.getProperty8()))
            && (this.getProperty9() == null ? other.getProperty9() == null : this.getProperty9().equals(other.getProperty9()))
            && (this.getProperty10() == null ? other.getProperty10() == null : this.getProperty10().equals(other.getProperty10()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getIdentity() == null) ? 0 : getIdentity().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getParentId() == null) ? 0 : getParentId().hashCode());
        result = prime * result + ((getNo() == null) ? 0 : getNo().hashCode());
        result = prime * result + ((getPath() == null) ? 0 : getPath().hashCode());
        result = prime * result + ((getDepthLevel() == null) ? 0 : getDepthLevel().hashCode());
        result = prime * result + ((getAvailable() == null) ? 0 : getAvailable().hashCode());
        result = prime * result + ((getIsDefault() == null) ? 0 : getIsDefault().hashCode());
        result = prime * result + ((getProperty1() == null) ? 0 : getProperty1().hashCode());
        result = prime * result + ((getProperty2() == null) ? 0 : getProperty2().hashCode());
        result = prime * result + ((getProperty3() == null) ? 0 : getProperty3().hashCode());
        result = prime * result + ((getProperty4() == null) ? 0 : getProperty4().hashCode());
        result = prime * result + ((getProperty5() == null) ? 0 : getProperty5().hashCode());
        result = prime * result + ((getProperty6() == null) ? 0 : getProperty6().hashCode());
        result = prime * result + ((getProperty7() == null) ? 0 : getProperty7().hashCode());
        result = prime * result + ((getProperty8() == null) ? 0 : getProperty8().hashCode());
        result = prime * result + ((getProperty9() == null) ? 0 : getProperty9().hashCode());
        result = prime * result + ((getProperty10() == null) ? 0 : getProperty10().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", identity=").append(identity);
        sb.append(", name=").append(name);
        sb.append(", parentId=").append(parentId);
        sb.append(", no=").append(no);
        sb.append(", path=").append(path);
        sb.append(", depthLevel=").append(depthLevel);
        sb.append(", available=").append(available);
        sb.append(", isDefault=").append(isDefault);
        sb.append(", property1=").append(property1);
        sb.append(", property2=").append(property2);
        sb.append(", property3=").append(property3);
        sb.append(", property4=").append(property4);
        sb.append(", property5=").append(property5);
        sb.append(", property6=").append(property6);
        sb.append(", property7=").append(property7);
        sb.append(", property8=").append(property8);
        sb.append(", property9=").append(property9);
        sb.append(", property10=").append(property10);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}