package com.mortals.xhx.base.system.gentable.model;

import java.util.List;
import java.util.Date;

/**
*
* Description:Gentable
* date: 2021-9-28 10:10:15
*/
public class GentableQuery extends GentableEntity{
    private static final long serialVersionUID = 1632795015394L;
    /** 开始 ID，主键，自增长 */
    private Long idStart;

    /** 结束 ID，主键，自增长 */
    private Long idEnd;

    /** 增加 ID，主键，自增长 */
    private Long idIncrement;

    /** ID，主键，自增长 */
    private List <Long> idList;


    /** 表名称 */
    private List<String> tableNameList;

    /** 表描述 */
    private List<String> tableCommentList;

    /** 关联子表的表名 */
    private List<String> subTableNameList;

    /** 子表关联的外键名 */
    private List<String> subTableFkNameList;

    /** 实体类名称 */
    private List<String> classNameList;

    /** 使用的模板（crud单表操作 tree树表操作） */
    private List<String> tplCategoryList;

    /** 生成包路径 */
    private List<String> packageNameList;

    /** 生成模块名 */
    private List<String> moduleNameList;

    /** 生成业务名 */
    private List<String> businessNameList;

    /** 生成功能名 */
    private List<String> functionNameList;

    /** 生成功能作者 */
    private List<String> functionAuthorList;

    /** 开始 生成代码方式（0.zip压缩包 1.自定义路径） */
    private Integer genTypeStart;

    /** 结束 生成代码方式（0.zip压缩包 1.自定义路径） */
    private Integer genTypeEnd;

    /** 增加 生成代码方式（0.zip压缩包 1.自定义路径） */
    private Integer genTypeIncrement;

    /** 生成代码方式（0.zip压缩包 1.自定义路径） */
    private List <Integer> genTypeList;

    /** 生成路径（不填默认项目路径） */
    private List<String> genPathList;

    /** 其它生成选项 */
    private List<String> optionsList;

    /** 备注 */
    private List<String> remarkList;
    /** 开始 变更时间 */
    private String updateTimeStart;

    /** 结束 变更时间 */
    private String updateTimeEnd;

    /** 变更用户loginName */
    private List<String> updateUserList;
    /** 开始 创建时间 */
    private String createTimeStart;

    /** 结束 创建时间 */
    private String createTimeEnd;

    /** 创建用户loginName */
    private List<String> createUserList;

    /** OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
    private List<GentableQuery> orConditionList;

    /** AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
    private List<GentableQuery> andConditionList;


    public GentableQuery(){
    }

    /**
    * 获取 开始 ID，主键，自增长
    * @return idStart
    */
    public Long getIdStart(){
    return this.idStart;
    }

    /**
    * 设置 开始 ID，主键，自增长
    * @param idStart
    */
    public void setIdStart(Long idStart){
    this.idStart = idStart;
    }

    /**
    * 获取 结束 ID，主键，自增长
    * @return idEnd
    */
    public Long getIdEnd(){
    return this.idEnd;
    }

    /**
    * 设置 结束 ID，主键，自增长
    * @param idEnd
    */
    public void setIdEnd(Long idEnd){
    this.idEnd = idEnd;
    }

    /**
    * 获取 增加 ID，主键，自增长
    * @return idIncrement
    */
    public Long getIdIncrement(){
    return this.idIncrement;
    }

    /**
    * 设置 增加 ID，主键，自增长
    * @param idIncrement
    */
    public void setIdIncrement(Long idIncrement){
    this.idIncrement = idIncrement;
    }

    /**
    * 获取 ID，主键，自增长
    * @return idList
    */
    public List<Long> getIdList(){
    return this.idList;
    }

    /**
    * 设置 ID，主键，自增长
    * @param idList
    */
    public void setIdList(List<Long> idList){
        this.idList = idList;
        }
    /**
    * 获取 表名称
    * @return tableNameList
    */
    public List<String> getTableNameList(){
        return this.tableNameList;
    }

    /**
    * 设置 表名称
    * @param tableNameList
    */
    public void setTableNameList(List<String> tableNameList){
        this.tableNameList = tableNameList;
    }
    /**
    * 获取 表描述
    * @return tableCommentList
    */
    public List<String> getTableCommentList(){
        return this.tableCommentList;
    }

    /**
    * 设置 表描述
    * @param tableCommentList
    */
    public void setTableCommentList(List<String> tableCommentList){
        this.tableCommentList = tableCommentList;
    }
    /**
    * 获取 关联子表的表名
    * @return subTableNameList
    */
    public List<String> getSubTableNameList(){
        return this.subTableNameList;
    }

    /**
    * 设置 关联子表的表名
    * @param subTableNameList
    */
    public void setSubTableNameList(List<String> subTableNameList){
        this.subTableNameList = subTableNameList;
    }
    /**
    * 获取 子表关联的外键名
    * @return subTableFkNameList
    */
    public List<String> getSubTableFkNameList(){
        return this.subTableFkNameList;
    }

    /**
    * 设置 子表关联的外键名
    * @param subTableFkNameList
    */
    public void setSubTableFkNameList(List<String> subTableFkNameList){
        this.subTableFkNameList = subTableFkNameList;
    }
    /**
    * 获取 实体类名称
    * @return classNameList
    */
    public List<String> getClassNameList(){
        return this.classNameList;
    }

    /**
    * 设置 实体类名称
    * @param classNameList
    */
    public void setClassNameList(List<String> classNameList){
        this.classNameList = classNameList;
    }
    /**
    * 获取 使用的模板（crud单表操作 tree树表操作）
    * @return tplCategoryList
    */
    public List<String> getTplCategoryList(){
        return this.tplCategoryList;
    }

    /**
    * 设置 使用的模板（crud单表操作 tree树表操作）
    * @param tplCategoryList
    */
    public void setTplCategoryList(List<String> tplCategoryList){
        this.tplCategoryList = tplCategoryList;
    }
    /**
    * 获取 生成包路径
    * @return packageNameList
    */
    public List<String> getPackageNameList(){
        return this.packageNameList;
    }

    /**
    * 设置 生成包路径
    * @param packageNameList
    */
    public void setPackageNameList(List<String> packageNameList){
        this.packageNameList = packageNameList;
    }
    /**
    * 获取 生成模块名
    * @return moduleNameList
    */
    public List<String> getModuleNameList(){
        return this.moduleNameList;
    }

    /**
    * 设置 生成模块名
    * @param moduleNameList
    */
    public void setModuleNameList(List<String> moduleNameList){
        this.moduleNameList = moduleNameList;
    }
    /**
    * 获取 生成业务名
    * @return businessNameList
    */
    public List<String> getBusinessNameList(){
        return this.businessNameList;
    }

    /**
    * 设置 生成业务名
    * @param businessNameList
    */
    public void setBusinessNameList(List<String> businessNameList){
        this.businessNameList = businessNameList;
    }
    /**
    * 获取 生成功能名
    * @return functionNameList
    */
    public List<String> getFunctionNameList(){
        return this.functionNameList;
    }

    /**
    * 设置 生成功能名
    * @param functionNameList
    */
    public void setFunctionNameList(List<String> functionNameList){
        this.functionNameList = functionNameList;
    }
    /**
    * 获取 生成功能作者
    * @return functionAuthorList
    */
    public List<String> getFunctionAuthorList(){
        return this.functionAuthorList;
    }

    /**
    * 设置 生成功能作者
    * @param functionAuthorList
    */
    public void setFunctionAuthorList(List<String> functionAuthorList){
        this.functionAuthorList = functionAuthorList;
    }
    /**
    * 获取 开始 生成代码方式（0.zip压缩包 1.自定义路径）
    * @return genTypeStart
    */
    public Integer getGenTypeStart(){
        return this.genTypeStart;
    }

    /**
    * 设置 开始 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeStart
    */
    public void setGenTypeStart(Integer genTypeStart){
        this.genTypeStart = genTypeStart;
    }

    /**
    * 获取 结束 生成代码方式（0.zip压缩包 1.自定义路径）
    * @return genTypeEnd
    */
    public Integer getGenTypeEnd(){
        return this.genTypeEnd;
    }

    /**
    * 设置 结束 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeEnd
    */
    public void setGenTypeEnd(Integer genTypeEnd){
        this.genTypeEnd = genTypeEnd;
    }

    /**
    * 获取 增加 生成代码方式（0.zip压缩包 1.自定义路径）
    * @return genTypeIncrement
    */
    public Integer getGenTypeIncrement(){
        return this.genTypeIncrement;
    }

    /**
    * 设置 增加 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeIncrement
    */
    public void setGenTypeIncrement(Integer genTypeIncrement){
        this.genTypeIncrement = genTypeIncrement;
    }

    /**
    * 获取 生成代码方式（0.zip压缩包 1.自定义路径）
    * @return genTypeList
    */
    public List<Integer> getGenTypeList(){
        return this.genTypeList;
    }

    /**
    * 设置 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeList
    */
    public void setGenTypeList(List<Integer> genTypeList){
        this.genTypeList = genTypeList;
    }
    /**
    * 获取 生成路径（不填默认项目路径）
    * @return genPathList
    */
    public List<String> getGenPathList(){
        return this.genPathList;
    }

    /**
    * 设置 生成路径（不填默认项目路径）
    * @param genPathList
    */
    public void setGenPathList(List<String> genPathList){
        this.genPathList = genPathList;
    }
    /**
    * 获取 其它生成选项
    * @return optionsList
    */
    public List<String> getOptionsList(){
        return this.optionsList;
    }

    /**
    * 设置 其它生成选项
    * @param optionsList
    */
    public void setOptionsList(List<String> optionsList){
        this.optionsList = optionsList;
    }
    /**
    * 获取 备注
    * @return remarkList
    */
    public List<String> getRemarkList(){
        return this.remarkList;
    }

    /**
    * 设置 备注
    * @param remarkList
    */
    public void setRemarkList(List<String> remarkList){
        this.remarkList = remarkList;
    }
    /**
    * 获取 开始 变更时间
    * @return updateTimeStart
    */
    public String getUpdateTimeStart(){
    return this.updateTimeStart;
    }

    /**
    * 设置 开始 变更时间
    * @param updateTimeStart
    */
    public void setUpdateTimeStart(String updateTimeStart){
    this.updateTimeStart = updateTimeStart;
    }

    /**
    * 获取 结束 变更时间
    * @return updateTimeEnd
    */
    public String getUpdateTimeEnd(){
    return this.updateTimeEnd;
    }

    /**
    * 设置 结束 变更时间
    * @param updateTimeEnd
    */
    public void setUpdateTimeEnd(String updateTimeEnd){
    this.updateTimeEnd = updateTimeEnd;
    }
    /**
    * 获取 变更用户loginName
    * @return updateUserList
    */
    public List<String> getUpdateUserList(){
        return this.updateUserList;
    }

    /**
    * 设置 变更用户loginName
    * @param updateUserList
    */
    public void setUpdateUserList(List<String> updateUserList){
        this.updateUserList = updateUserList;
    }
    /**
    * 获取 开始 创建时间
    * @return createTimeStart
    */
    public String getCreateTimeStart(){
    return this.createTimeStart;
    }

    /**
    * 设置 开始 创建时间
    * @param createTimeStart
    */
    public void setCreateTimeStart(String createTimeStart){
    this.createTimeStart = createTimeStart;
    }

    /**
    * 获取 结束 创建时间
    * @return createTimeEnd
    */
    public String getCreateTimeEnd(){
    return this.createTimeEnd;
    }

    /**
    * 设置 结束 创建时间
    * @param createTimeEnd
    */
    public void setCreateTimeEnd(String createTimeEnd){
    this.createTimeEnd = createTimeEnd;
    }
    /**
    * 获取 创建用户loginName
    * @return createUserList
    */
    public List<String> getCreateUserList(){
        return this.createUserList;
    }

    /**
    * 设置 创建用户loginName
    * @param createUserList
    */
    public void setCreateUserList(List<String> createUserList){
        this.createUserList = createUserList;
    }


	/**
    * 设置  ID，主键，自增长
    * @param id
    */
    public GentableQuery id(Long id){
	    setId(id);
		return this;
    }
	
	 /**
    * 设置 开始 ID，主键，自增长
    * @param idStart
    */
    public GentableQuery idStart(Long idStart){
		this.idStart = idStart;
		return this;
    }

    /**
    * 设置 结束 ID，主键，自增长
    * @param idEnd
    */
    public GentableQuery idEnd(Long idEnd){
		this.idEnd = idEnd;
		return this;
    }

    /**
    * 设置 增加 ID，主键，自增长
    * @param idIncrement
    */
    public GentableQuery idIncrement(Long idIncrement){
		this.idIncrement = idIncrement;
		return this;
    }

    /**
    * 设置 ID，主键，自增长
    * @param idList
    */
    public GentableQuery idList(List<Long> idList){
        this.idList = idList;
		return this;
        }
	/**
    * 设置 表名称
    * @param tableName
    */
    public GentableQuery tableName(String tableName){
        setTableName(tableName);
		return this;
    }


    /**
    * 设置 表名称
    * @param tableNameList
    */
    public GentableQuery tableNameList(List<String> tableNameList){
        this.tableNameList = tableNameList;
		return this;
    }
	/**
    * 设置 表描述
    * @param tableComment
    */
    public GentableQuery tableComment(String tableComment){
        setTableComment(tableComment);
		return this;
    }


    /**
    * 设置 表描述
    * @param tableCommentList
    */
    public GentableQuery tableCommentList(List<String> tableCommentList){
        this.tableCommentList = tableCommentList;
		return this;
    }
	/**
    * 设置 关联子表的表名
    * @param subTableName
    */
    public GentableQuery subTableName(String subTableName){
        setSubTableName(subTableName);
		return this;
    }


    /**
    * 设置 关联子表的表名
    * @param subTableNameList
    */
    public GentableQuery subTableNameList(List<String> subTableNameList){
        this.subTableNameList = subTableNameList;
		return this;
    }
	/**
    * 设置 子表关联的外键名
    * @param subTableFkName
    */
    public GentableQuery subTableFkName(String subTableFkName){
        setSubTableFkName(subTableFkName);
		return this;
    }


    /**
    * 设置 子表关联的外键名
    * @param subTableFkNameList
    */
    public GentableQuery subTableFkNameList(List<String> subTableFkNameList){
        this.subTableFkNameList = subTableFkNameList;
		return this;
    }
	/**
    * 设置 实体类名称
    * @param className
    */
    public GentableQuery className(String className){
        setClassName(className);
		return this;
    }


    /**
    * 设置 实体类名称
    * @param classNameList
    */
    public GentableQuery classNameList(List<String> classNameList){
        this.classNameList = classNameList;
		return this;
    }
	/**
    * 设置 使用的模板（crud单表操作 tree树表操作）
    * @param tplCategory
    */
    public GentableQuery tplCategory(String tplCategory){
        setTplCategory(tplCategory);
		return this;
    }


    /**
    * 设置 使用的模板（crud单表操作 tree树表操作）
    * @param tplCategoryList
    */
    public GentableQuery tplCategoryList(List<String> tplCategoryList){
        this.tplCategoryList = tplCategoryList;
		return this;
    }
	/**
    * 设置 生成包路径
    * @param packageName
    */
    public GentableQuery packageName(String packageName){
        setPackageName(packageName);
		return this;
    }


    /**
    * 设置 生成包路径
    * @param packageNameList
    */
    public GentableQuery packageNameList(List<String> packageNameList){
        this.packageNameList = packageNameList;
		return this;
    }
	/**
    * 设置 生成模块名
    * @param moduleName
    */
    public GentableQuery moduleName(String moduleName){
        setModuleName(moduleName);
		return this;
    }


    /**
    * 设置 生成模块名
    * @param moduleNameList
    */
    public GentableQuery moduleNameList(List<String> moduleNameList){
        this.moduleNameList = moduleNameList;
		return this;
    }
	/**
    * 设置 生成业务名
    * @param businessName
    */
    public GentableQuery businessName(String businessName){
        setBusinessName(businessName);
		return this;
    }


    /**
    * 设置 生成业务名
    * @param businessNameList
    */
    public GentableQuery businessNameList(List<String> businessNameList){
        this.businessNameList = businessNameList;
		return this;
    }
	/**
    * 设置 生成功能名
    * @param functionName
    */
    public GentableQuery functionName(String functionName){
        setFunctionName(functionName);
		return this;
    }


    /**
    * 设置 生成功能名
    * @param functionNameList
    */
    public GentableQuery functionNameList(List<String> functionNameList){
        this.functionNameList = functionNameList;
		return this;
    }
	/**
    * 设置 生成功能作者
    * @param functionAuthor
    */
    public GentableQuery functionAuthor(String functionAuthor){
        setFunctionAuthor(functionAuthor);
		return this;
    }


    /**
    * 设置 生成功能作者
    * @param functionAuthorList
    */
    public GentableQuery functionAuthorList(List<String> functionAuthorList){
        this.functionAuthorList = functionAuthorList;
		return this;
    }
	
	/**
    * 设置  生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genType
    */
    public GentableQuery genType(Integer genType){
        setGenType(genType);
		return this;
    }

    /**
    * 设置 开始 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeStart
    */
    public GentableQuery genTypeStart(Integer genTypeStart){
        this.genTypeStart = genTypeStart;
		return this;
    }


    /**
    * 设置 结束 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeEnd
    */
    public GentableQuery genTypeEnd(Integer genTypeEnd){
        this.genTypeEnd = genTypeEnd;
		return this;
    }


    /**
    * 设置 增加 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeIncrement
    */
    public GentableQuery genTypeIncrement(Integer genTypeIncrement){
        this.genTypeIncrement = genTypeIncrement;
		return this;
    }


    /**
    * 设置 生成代码方式（0.zip压缩包 1.自定义路径）
    * @param genTypeList
    */
    public GentableQuery genTypeList(List<Integer> genTypeList){
        this.genTypeList = genTypeList;
		return this;
    }
	/**
    * 设置 生成路径（不填默认项目路径）
    * @param genPath
    */
    public GentableQuery genPath(String genPath){
        setGenPath(genPath);
		return this;
    }


    /**
    * 设置 生成路径（不填默认项目路径）
    * @param genPathList
    */
    public GentableQuery genPathList(List<String> genPathList){
        this.genPathList = genPathList;
		return this;
    }
	/**
    * 设置 其它生成选项
    * @param options
    */
    public GentableQuery options(String options){
        setOptions(options);
		return this;
    }


    /**
    * 设置 其它生成选项
    * @param optionsList
    */
    public GentableQuery optionsList(List<String> optionsList){
        this.optionsList = optionsList;
		return this;
    }
	/**
    * 设置 备注
    * @param remark
    */
    public GentableQuery remark(String remark){
        setRemark(remark);
		return this;
    }


    /**
    * 设置 备注
    * @param remarkList
    */
    public GentableQuery remarkList(List<String> remarkList){
        this.remarkList = remarkList;
		return this;
    }

    /**
    * 设置 开始 变更时间
    * @param updateTimeStart
    */
    public GentableQuery updateTimeStart(String updateTimeStart){
		this.updateTimeStart = updateTimeStart;
		return this;
    }


    /**
    * 设置 结束 变更时间
    * @param updateTimeEnd
    */
    public GentableQuery updateTimeEnd(String updateTimeEnd){
		this.updateTimeEnd = updateTimeEnd;
		return this;
    }
	/**
    * 设置 变更用户loginName
    * @param updateUser
    */
    public GentableQuery updateUser(String updateUser){
        setUpdateUser(updateUser);
		return this;
    }


    /**
    * 设置 变更用户loginName
    * @param updateUserList
    */
    public GentableQuery updateUserList(List<String> updateUserList){
        this.updateUserList = updateUserList;
		return this;
    }

    /**
    * 设置 开始 创建时间
    * @param createTimeStart
    */
    public GentableQuery createTimeStart(String createTimeStart){
		this.createTimeStart = createTimeStart;
		return this;
    }


    /**
    * 设置 结束 创建时间
    * @param createTimeEnd
    */
    public GentableQuery createTimeEnd(String createTimeEnd){
		this.createTimeEnd = createTimeEnd;
		return this;
    }
	/**
    * 设置 创建用户loginName
    * @param createUser
    */
    public GentableQuery createUser(String createUser){
        setCreateUser(createUser);
		return this;
    }


    /**
    * 设置 创建用户loginName
    * @param createUserList
    */
    public GentableQuery createUserList(List<String> createUserList){
        this.createUserList = createUserList;
		return this;
    }


    /**
    * 获取 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
    * @return orConditionList
    */
    public List<GentableQuery> getOrConditionList(){
    return this.orConditionList;
    }

    /**
    * 设置 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
    * @param orConditionList
    */
    public void setOrConditionList(List<GentableQuery> orConditionList){
        this.orConditionList = orConditionList;
    }

    /**
    * 获取 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
    * @return andConditionList
    */
    public List<GentableQuery> getAndConditionList(){
        return this.andConditionList;
    }

    /**
    * 设置 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
    * @param andConditionList
    */
    public void setAndConditionList(List<GentableQuery> andConditionList){
        this.andConditionList = andConditionList;
    }

}