package com.enterprise.manage.modules.asset.domain;

import com.enterprise.manage.common.base.BaseDomain;
import com.enterprise.manage.common.constant.emuns.StatusType;
import com.enterprise.manage.modules.system.domain.po.DictItem;
import com.enterprise.manage.modules.system.domain.po.Regional;

import java.util.List;

/**
 * 描述：企业机构对象 enterprise
 *
 * @author QingLi Wang
 * 2023-11-28 09:24
 */
public class Enterprise extends BaseDomain {

    private static final long serialVersionUID = 1L;

    private Long id;

    /**
     * 地区（市）
     */
    private Regional city;
    /**
     * 地区（区县）
     */
    private Regional area;
    /**
     * 社会信用代码
     */
    private String creditCode;

    /**
     * 企业名称
     */
    private String name;

    /**
     * 上级企业id
     */
    private Long parentId;

    /**
     * 法人代表
     */
    private String legalPerson;

    /**
     * 组织性质：市属、区县属
     */
    private String nature;

    /**
     * 注册地点
     */
    private String address;

    /**
     * 责任人
     */
    private Integer level;
    /**
     * 责任人
     */
    private String director;

    /**
     * 责任人住所
     */
    private String directorAddress;

    /**
     * 联系电话
     */
    private String directorPhone;
    /**
     * 上报状态
     */
    private boolean escalationStatus;
    /**
     * 审核状态
     */
    private DictItem examineStatus;
    /**
     * 审核意见
     */
    private String examineDesc;

    /**
     * 排序号
     */
    private Long sort;

    /**
     * 状态 0禁用 1启用
     */
    private Integer status;

    private List<Enterprise> children;

    @Override
    public void insertConfigure() {
        this.setStatus(StatusType.ENABLE.ordinal());
        this.setExamineDesc("");
        super.insertConfigure();
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCreditCode() {
        return creditCode;
    }

    public void setCreditCode(String creditCode) {
        this.creditCode = creditCode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getLegalPerson() {
        return legalPerson;
    }

    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }


    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getDirector() {
        return director;
    }

    public void setDirector(String director) {
        this.director = director;
    }

    public String getDirectorAddress() {
        return directorAddress;
    }

    public void setDirectorAddress(String directorAddress) {
        this.directorAddress = directorAddress;
    }

    public String getDirectorPhone() {
        return directorPhone;
    }

    public void setDirectorPhone(String directorPhone) {
        this.directorPhone = directorPhone;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }


    public boolean getEscalationStatus() {
        return escalationStatus;
    }

    public void setEscalationStatus(boolean escalationStatus) {
        this.escalationStatus = escalationStatus;
    }

    public DictItem getExamineStatus() {
        return examineStatus;
    }

    public void setExamineStatus(DictItem examineStatus) {
        this.examineStatus = examineStatus;
    }

    public String getExamineDesc() {
        return examineDesc;
    }

    public void setExamineDesc(String examineDesc) {
        this.examineDesc = examineDesc;
    }

    public Regional getCity() {
        return city;
    }

    public void setCity(Regional city) {
        this.city = city;
    }

    public Regional getArea() {
        return area;
    }

    public void setArea(Regional area) {
        this.area = area;
    }

    public String getNature() {
        return nature;
    }

    public void setNature(String nature) {
        this.nature = nature;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }


    public List<Enterprise> getChildren() {
        return children;
    }

    public void setChildren(List<Enterprise> children) {
        this.children = children;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }
}
