package com.da.common.core.domain.entity;

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

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

/**
 * 档案目录对象 da_catalog
 * 
 * @author hs
 * @date 2024-05-08
 */
public class DaCatalog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 目录名称 */
    @Excel(name = "目录名称")
    private String muName;

    /** 父目录ID */
    @Excel(name = "父目录ID")
    private Long pid;

    /** 祖级列表 */
    @Excel(name = "祖级列表")
    private String ancestors;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Long orderNum;

    /** 业务类型(字典) */
    @Excel(name = "业务类型(字典)")
    private String ywType;

    /** 菜单状态（0正常 1停用） */
    @Excel(name = "菜单状态", readConverterExp = "0=正常,1=停用")
    private String status;
    /** 子目录 */
    private List<DaCatalog> children = new ArrayList<DaCatalog>();
    public void setId(Long id) 
    {
        this.id = id;
    }

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

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

    public Long getId()
    {
        return id;
    }
    public void setMuName(String muName) 
    {
        this.muName = muName;
    }

    public String getMuName() 
    {
        return muName;
    }
    public void setPid(Long pid) 
    {
        this.pid = pid;
    }

    public Long getPid() 
    {
        return pid;
    }
    public void setAncestors(String ancestors) 
    {
        this.ancestors = ancestors;
    }

    public String getAncestors() 
    {
        return ancestors;
    }
    public void setOrderNum(Long orderNum) 
    {
        this.orderNum = orderNum;
    }

    public Long getOrderNum() 
    {
        return orderNum;
    }
    public void setYwType(String ywType) 
    {
        this.ywType = ywType;
    }

    public String getYwType() 
    {
        return ywType;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("muName", getMuName())
            .append("pid", getPid())
            .append("ancestors", getAncestors())
            .append("orderNum", getOrderNum())
            .append("ywType", getYwType())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
