/**
 *@Generated by sagacity-quickvo 5.0
 */
package cn.pojo.entity;

import java.io.Serializable;
import cn.orm.sqltoy.config.annotation.Entity;
import cn.orm.sqltoy.config.annotation.Id;
import cn.orm.sqltoy.config.annotation.Column;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

/**
 * @project sqltoy-quickstart
 * @author BJTU
 * @version 1.0.0 
 */
@Schema(name="TSysDept",description="部门表")
@Data
@Accessors(chain = true)
@Entity(tableName="t_sys_dept",comment="部门表",pk_constraint="PRIMARY")
public class TSysDept implements Serializable {
	
	private List<TSysDept> children = new ArrayList<TSysDept>();
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 4715991885312410259L;
/*---begin-auto-generate-don't-update-this-area--*/	
	/**
	 * jdbcType:INT
	 */
	@Schema(name="deptId",description="部门id(节点id)",nullable=false)
	@Id(strategy="identity")
	@Column(name="dept_id",comment="部门id(节点id)",length=10L,type=java.sql.Types.INTEGER,nullable=false,autoIncrement=true)
	private Integer deptId;
	
	/**
	 * jdbcType:INT
	 */
	@Schema(name="parentId",description="父节点id(上级部门)",nullable=true)
	@Column(name="parent_id",comment="父节点id(上级部门)",length=10L,defaultValue="0",type=java.sql.Types.INTEGER,nullable=true)
	private Integer parentId;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="ancestors",description="祖级列表id路径(直到根节点)",nullable=true)
	@Column(name="ancestors",comment="祖级列表id路径(直到根节点)",length=50L,defaultValue="",type=java.sql.Types.VARCHAR,nullable=true)
	private String ancestors;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="deptName",description="部门名称",nullable=true)
	@Column(name="dept_name",comment="部门名称",length=50L,type=java.sql.Types.VARCHAR,nullable=true)
	private String deptName;
	
	/**
	 * jdbcType:INT
	 */
	@Schema(name="orderNum",description="显示顺序",nullable=true)
	@Column(name="order_num",comment="显示顺序",length=10L,defaultValue="0",type=java.sql.Types.INTEGER,nullable=true)
	private Integer orderNum;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="deptNameEn",description="英文名",nullable=true)
	@Column(name="dept_name_en",comment="英文名",length=50L,type=java.sql.Types.VARCHAR,nullable=true)
	private String deptNameEn;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="deptNameAbbr",description="缩写",nullable=true)
	@Column(name="dept_name_abbr",comment="缩写",length=50L,type=java.sql.Types.VARCHAR,nullable=true)
	private String deptNameAbbr;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="fax",description="传真",nullable=true)
	@Column(name="fax",comment="传真",length=32L,type=java.sql.Types.VARCHAR,nullable=true)
	private String fax;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="address",description="地址",nullable=true)
	@Column(name="address",comment="地址",length=100L,type=java.sql.Types.VARCHAR,nullable=true)
	private String address;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="leader",description="负责人",nullable=true)
	@Column(name="leader",comment="负责人",length=20L,type=java.sql.Types.VARCHAR,nullable=true)
	private String leader;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="phone",description="联系电话",nullable=true)
	@Column(name="phone",comment="联系电话",length=11L,type=java.sql.Types.VARCHAR,nullable=true)
	private String phone;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="email",description="邮箱",nullable=true)
	@Column(name="email",comment="邮箱",length=50L,type=java.sql.Types.VARCHAR,nullable=true)
	private String email;
	
	/**
	 * jdbcType:CHAR
	 */
	@Schema(name="status",description="部门状态",nullable=true)
	@Column(name="status",comment="部门状态",length=1L,type=java.sql.Types.CHAR,nullable=true)
	private String status;
	
	/**
	 * jdbcType:CHAR
	 */
	@Schema(name="delFlag",description="删除标志",nullable=true)
	@Column(name="del_flag",comment="删除标志",length=1L,type=java.sql.Types.CHAR,nullable=true)
	private String delFlag;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="createBy",description="创建者",nullable=true)
	@Column(name="create_by",comment="创建者",length=64L,type=java.sql.Types.VARCHAR,nullable=true)
	private String createBy;
	
	/**
	 * jdbcType:DATETIME
	 */
	@Schema(name="createTime",description="创建时间",nullable=true)
	@Column(name="create_time",comment="创建时间",length=19L,type=java.sql.Types.DATE,nullable=true)
	private LocalDateTime createTime;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="updateBy",description="更新者",nullable=true)
	@Column(name="update_by",comment="更新者",length=64L,type=java.sql.Types.VARCHAR,nullable=true)
	private String updateBy;
	
	/**
	 * jdbcType:DATETIME
	 */
	@Schema(name="updateTime",description="更新时间",nullable=true)
	@Column(name="update_time",comment="更新时间",length=19L,type=java.sql.Types.DATE,nullable=true)
	private LocalDateTime updateTime;
	
	/**
	 * jdbcType:VARCHAR
	 */
	@Schema(name="remark",description="备注",nullable=true)
	@Column(name="remark",comment="备注",length=100L,type=java.sql.Types.VARCHAR,nullable=true)
	private String remark;
	
	/** default constructor */
	public TSysDept() {
	}
	
	/** pk constructor */
	public TSysDept(Integer deptId)
	{
		this.deptId=deptId;
	}
/*---end-auto-generate-don't-update-this-area--*/
}
