package com.hw.ems.base.domain;

import com.hw.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel;

import java.util.ArrayList;
import java.util.List;

/**
 * 分项类型管理对象 base_subentry_type
 *
 * @author YinQ
 * @date 2023-05-06
 */
public class BaseSubentryType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long objid;
    /** 父级编号 */
    @Excel(name = "父级编号")
    private Long parentId;
    /** 祖级列表 */
    @Excel(name = "祖级列表")
    private String ancestors;
    /** 子菜单 */
    private List<BaseSubentryType> children = new ArrayList<BaseSubentryType>();
    /** 分项类型编号 */
    @Excel(name = "分项类型编号")
    private String subentryId;

    /** 分项类型名称 */
    @Excel(name = "分项类型名称")
    private String subentryName;

    /** 状态 */
    @Excel(name = "状态")
    private Long subentryStatus;

    /** 权限标识（部门） */
    @Excel(name = "权限标识", readConverterExp = "部=门")
    private Long deptId;

    /** 权限标识（用户） */
    @Excel(name = "权限标识", readConverterExp = "用=户")
    private Long userId;

    public void setObjid(Long objid)
    {
        this.objid = objid;
    }

    public Long getObjid()
    {
        return objid;
    }
    public void setSubentryId(String subentryId)
    {
        this.subentryId = subentryId;
    }

    public String getSubentryId()
    {
        return subentryId;
    }
    public void setSubentryName(String subentryName)
    {
        this.subentryName = subentryName;
    }

    public String getSubentryName()
    {
        return subentryName;
    }
    public void setSubentryStatus(Long subentryStatus)
    {
        this.subentryStatus = subentryStatus;
    }

    public Long getSubentryStatus()
    {
        return subentryStatus;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }

    public Long getParentId() {
        return parentId;
    }

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

    public String getAncestors() {
        return ancestors;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

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

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

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("objid", getObjid())
            .append("parentId", getParentId())
            .append("subentryId", getSubentryId())
            .append("subentryName", getSubentryName())
            .append("subentryStatus", getSubentryStatus())
            .append("deptId", getDeptId())
            .append("userId", getUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
