package com.mortals.xhx.module.area.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.area.model.vo.AreaVo;
/**
* 区域实体对象
*
* @author zxfei
* @date 2022-01-12
*/

public class AreaEntity extends AreaVo {
    private static final long serialVersionUID = 1L;

    /**
    * 祖级列表，逗号分隔
    */
    private String ancestors;
    /**
    * 区域名称
    */
    private String name;
    /**
    * 一体化的ID号
    */
    private String iid;
    /**
    * 一体化的父id
    */
    private String pid;
    /**
    * 是否有下级区域（True.是，False.否）
    */
    private String haveSonArea;
    /**
    * 是否有下级部门（True.是，False.否）
    */
    private String haveSonDept;
    /**
    * 是否获取部门（true.是，false.否）
    */
    private String haveGetDept;
    /**
    * 是否获取事项列表（true.是，false.否）
    */
    private String haveGetMatterList;
    /**
    * 区域编码
    */
    private String areaCode;
    /**
    * 区域等级(1.省，2.地市州，3.区县，4.街道，5.社区)
    */
    private Integer areaLevel;
    /**
    * 名称简称
    */
    private String shortName;
    /**
    * 访问地址
    */
    private String domain;
    /**
    * 区域状态 (0.停用，1.正常)
    */
    private Integer status;



    public AreaEntity(){}
    /**
    * 获取 祖级列表，逗号分隔
    * @return String
    */
    public String getAncestors(){
        return ancestors;
    }
    /**
    * 设置 祖级列表，逗号分隔
    * @param ancestors
    */
    public void setAncestors(String ancestors){
        this.ancestors = ancestors;
    }
    /**
    * 获取 区域名称
    * @return String
    */
    public String getName(){
        return name;
    }
    /**
    * 设置 区域名称
    * @param name
    */
    public void setName(String name){
        this.name = name;
    }
    /**
    * 获取 一体化的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;
    }
    /**
    * 获取 是否有下级区域（True.是，False.否）
    * @return String
    */
    public String getHaveSonArea(){
        return haveSonArea;
    }
    /**
    * 设置 是否有下级区域（True.是，False.否）
    * @param haveSonArea
    */
    public void setHaveSonArea(String haveSonArea){
        this.haveSonArea = haveSonArea;
    }
    /**
    * 获取 是否有下级部门（True.是，False.否）
    * @return String
    */
    public String getHaveSonDept(){
        return haveSonDept;
    }
    /**
    * 设置 是否有下级部门（True.是，False.否）
    * @param haveSonDept
    */
    public void setHaveSonDept(String haveSonDept){
        this.haveSonDept = haveSonDept;
    }
    /**
    * 获取 是否获取部门（true.是，false.否）
    * @return String
    */
    public String getHaveGetDept(){
        return haveGetDept;
    }
    /**
    * 设置 是否获取部门（true.是，false.否）
    * @param haveGetDept
    */
    public void setHaveGetDept(String haveGetDept){
        this.haveGetDept = haveGetDept;
    }
    /**
    * 获取 是否获取事项列表（true.是，false.否）
    * @return String
    */
    public String getHaveGetMatterList(){
        return haveGetMatterList;
    }
    /**
    * 设置 是否获取事项列表（true.是，false.否）
    * @param haveGetMatterList
    */
    public void setHaveGetMatterList(String haveGetMatterList){
        this.haveGetMatterList = haveGetMatterList;
    }
    /**
    * 获取 区域编码
    * @return String
    */
    public String getAreaCode(){
        return areaCode;
    }
    /**
    * 设置 区域编码
    * @param areaCode
    */
    public void setAreaCode(String areaCode){
        this.areaCode = areaCode;
    }
    /**
    * 获取 区域等级(1.省，2.地市州，3.区县，4.街道，5.社区)
    * @return Integer
    */
    public Integer getAreaLevel(){
        return areaLevel;
    }
    /**
    * 设置 区域等级(1.省，2.地市州，3.区县，4.街道，5.社区)
    * @param areaLevel
    */
    public void setAreaLevel(Integer areaLevel){
        this.areaLevel = areaLevel;
    }
    /**
    * 获取 名称简称
    * @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;
    }
    /**
    * 获取 区域状态 (0.停用，1.正常)
    * @return Integer
    */
    public Integer getStatus(){
        return status;
    }
    /**
    * 设置 区域状态 (0.停用，1.正常)
    * @param status
    */
    public void setStatus(Integer status){
        this.status = status;
    }




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

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

    public void initAttrValue(){

            this.ancestors = "";

            this.name = null;

            this.iid = null;

            this.pid = null;

            this.haveSonArea = null;

            this.haveSonDept = null;

            this.haveGetDept = null;

            this.haveGetMatterList = null;

            this.areaCode = null;

            this.areaLevel = 1;

            this.shortName = null;

            this.domain = null;

            this.status = 1;
    }
}