package com.mortals.xhx.module.matters.model;

import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.matters.model.vo.MattersAreaVo;
/**
* 区域实体对象
*
* @author zxfei
* @date 2022-03-30
*/

public class MattersAreaEntity extends MattersAreaVo {
    private static final long serialVersionUID = 1L;

    /**
    * 区域编码
    */
    private String areaCode;
    /**
    * 区域名称
    */
    private String name;
    /**
    * 区域等级，1省，2地市州，3区县，4街道，5社区
    */
    private String areaLevel;
    /**
    * 是否有下级区域
    */
    private String haveSonArea;
    /**
    * 是否有下级部门
    */
    private String haveSonDept;
    /**
    * 名称简称
    */
    private String shortName;
    /**
    * 访问地址
    */
    private String domain;
    /**
    * 一体化的ID号
    */
    private String iid;
    /**
    * 一体化的父id
    */
    private String pid;
    /**
    * 是否获取部门
    */
    private String haveGetDept;
    /**
    * 是否获取事项列表
    */
    private String haveGetMatterList;



    public MattersAreaEntity(){}
    /**
    * 获取 区域编码
    * @return String
    */
    public String getAreaCode(){
        return areaCode;
    }
    /**
    * 设置 区域编码
    * @param areaCode
    */
    public void setAreaCode(String areaCode){
        this.areaCode = areaCode;
    }
    /**
    * 获取 区域名称
    * @return String
    */
    public String getName(){
        return name;
    }
    /**
    * 设置 区域名称
    * @param name
    */
    public void setName(String name){
        this.name = name;
    }
    /**
    * 获取 区域等级，1省，2地市州，3区县，4街道，5社区
    * @return String
    */
    public String getAreaLevel(){
        return areaLevel;
    }
    /**
    * 设置 区域等级，1省，2地市州，3区县，4街道，5社区
    * @param areaLevel
    */
    public void setAreaLevel(String areaLevel){
        this.areaLevel = areaLevel;
    }
    /**
    * 获取 是否有下级区域
    * @return String
    */
    public String getHaveSonArea(){
        return haveSonArea;
    }
    /**
    * 设置 是否有下级区域
    * @param haveSonArea
    */
    public void setHaveSonArea(String haveSonArea){
        this.haveSonArea = haveSonArea;
    }
    /**
    * 获取 是否有下级部门
    * @return String
    */
    public String getHaveSonDept(){
        return haveSonDept;
    }
    /**
    * 设置 是否有下级部门
    * @param haveSonDept
    */
    public void setHaveSonDept(String haveSonDept){
        this.haveSonDept = haveSonDept;
    }
    /**
    * 获取 名称简称
    * @return String
    */
    public String getShortName(){
        return shortName;
    }
    /**
    * 设置 名称简称
    * @param shortName
    */
    public void setShortName(String shortName){
        this.shortName = shortName;
    }
    /**
    * 获取 访问地址
    * @return String
    */
    public String getDomain(){
        return domain;
    }
    /**
    * 设置 访问地址
    * @param domain
    */
    public void setDomain(String domain){
        this.domain = domain;
    }
    /**
    * 获取 一体化的ID号
    * @return String
    */
    public String getIid(){
        return iid;
    }
    /**
    * 设置 一体化的ID号
    * @param iid
    */
    public void setIid(String iid){
        this.iid = iid;
    }
    /**
    * 获取 一体化的父id
    * @return String
    */
    public String getPid(){
        return pid;
    }
    /**
    * 设置 一体化的父id
    * @param pid
    */
    public void setPid(String pid){
        this.pid = pid;
    }
    /**
    * 获取 是否获取部门
    * @return String
    */
    public String getHaveGetDept(){
        return haveGetDept;
    }
    /**
    * 设置 是否获取部门
    * @param haveGetDept
    */
    public void setHaveGetDept(String haveGetDept){
        this.haveGetDept = haveGetDept;
    }
    /**
    * 获取 是否获取事项列表
    * @return String
    */
    public String getHaveGetMatterList(){
        return haveGetMatterList;
    }
    /**
    * 设置 是否获取事项列表
    * @param haveGetMatterList
    */
    public void setHaveGetMatterList(String haveGetMatterList){
        this.haveGetMatterList = haveGetMatterList;
    }




    @Override
    public int hashCode() {
         return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof MattersAreaEntity) {
            MattersAreaEntity tmp = (MattersAreaEntity) obj;
            if (this.getId() == tmp.getId()) {
                 return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",areaCode:").append(getAreaCode());
        sb.append(",name:").append(getName());
        sb.append(",areaLevel:").append(getAreaLevel());
        sb.append(",haveSonArea:").append(getHaveSonArea());
        sb.append(",haveSonDept:").append(getHaveSonDept());
        sb.append(",shortName:").append(getShortName());
        sb.append(",domain:").append(getDomain());
        sb.append(",iid:").append(getIid());
        sb.append(",pid:").append(getPid());
        sb.append(",haveGetDept:").append(getHaveGetDept());
        sb.append(",haveGetMatterList:").append(getHaveGetMatterList());
        return sb.toString();
    }

    public void initAttrValue(){

            this.areaCode = null;

            this.name = null;

            this.areaLevel = null;

            this.haveSonArea = null;

            this.haveSonDept = null;

            this.shortName = null;

            this.domain = null;

            this.iid = null;

            this.pid = null;

            this.haveGetDept = null;

            this.haveGetMatterList = null;
    }
}