package com.jy.system.model.table;


import com.jy.framework.mybatis.join.QueryColumn;
import com.jy.framework.mybatis.join.Table;
import com.jy.system.model.entity.SysDept;

public class SysDeptTable extends Table<SysDept> {

    public static SysDeptTable sys_dept = new SysDeptTable();
    public static SysDeptTable sd = sys_dept.as("sd");

    /**
     * 部门id
     */
    public QueryColumn id = this.field(SysDept::getId);

    /**
     * 父部门id
     */
    public QueryColumn parentId = this.field(SysDept::getParentId);

    /**
     * 祖级列表
     */
    public QueryColumn ancestors = this.field(SysDept::getAncestors);

    /**
     * 部门名称
     */
    public QueryColumn name = this.field(SysDept::getName);

    /**
     * 部门编码
     */
    public QueryColumn code = this.field(SysDept::getCode);

    /**
     * 状态 1启用 0禁用
     */
    public QueryColumn status = this.field(SysDept::getStatus);

    /**
     * 显示顺序
     */
    public QueryColumn sort = this.field(SysDept::getSort);

    /**
     * 备注
     */
    public QueryColumn remark = this.field(SysDept::getRemark);

    /**
     * 创建人
     */
    public QueryColumn createUser = this.field(SysDept::getCreateUser);

    /**
     * 创建时间
     */
    public QueryColumn createTime = this.field(SysDept::getCreateTime);

    /**
     * 更新人
     */
    public QueryColumn updateUser = this.field(SysDept::getUpdateUser);

    /**
     * 更新时间
     */
    public QueryColumn updateTime = this.field(SysDept::getUpdateTime);

    /**
     * 逻辑删除标记
     */
    public QueryColumn delFlag = this.field(SysDept::getDelFlag);

    private SysDeptTable() {
        super(SysDept.class);
    }

    private SysDeptTable(String alias) {
        super(SysDept.class, alias);
    }

    public SysDeptTable as(String alias) {
        return new SysDeptTable(alias);
    }

}
