package com.ruoyi.system.entity.vo;

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

import java.util.List;
import java.util.Map;

/**
 * 动态表格对象 drag_table
 *
 * @author ruoyi
 * @date 2023-07-31
 */
public class DragTableVo {
    /**
     * 表格主键
     */
    private Long tId;

    /**
     * 菜单名称
     */
    private String dtName;

    /**
     * 表格别名
     */
    private String dtNickname;

    /**
     * 路由信息
     */
    private String tableKey;

    /**
     * sql编号
     */
    private String sqlKey;

    /**
     * 绑定表名称
     */
    private String dtTableName;

    /**
     * 列字段标题名称(存储显示字段信息JSON)
     */
    private Object dtColumnName;

    /**
     * 列字段标题名称(存储显示字段信息JSON)
     */
    private String dtColumnNameEcho;

    /**
     * 时间格式
     */
    private String timeFormat;

    /**
     * 是否显示列表复选框(0:显示；1;不显示)
     */
    private String isSelection;

    /**
     * 搜索字段数组
     */
    private List<String> searchFieldList;

    /**
     * 表查询语句
     */
    private String tableSql;

    /**
     * 导出字段名以及列名JSON
     */
    private Object tableExportField;
    /**
     * 导出字段名以及列名JSON
     */
    private String tableExportFieldEcho;

    /**
     * 回显数据（前端修改回显数据使用）
     */
    private String echoData;

    /**
     * 菜单编号
     */
    private Long menuId;
    /**
     * 当前表单的唯一标识，修改删除使用
     */

    private String primaryKey;

    /**
     * 根据某一列进行排序
     */
    private String orderByColumn;

    /**
     * 排序方式  boolean： desc（降序）？ asc（升序）
     */
    private String sortOrder;

    @Override
    public String toString() {
        return "DragTableVo{" +
                "tId=" + tId +
                ", dtName='" + dtName + '\'' +
                ", dtNickname='" + dtNickname + '\'' +
                ", tableKey='" + tableKey + '\'' +
                ", sqlKey='" + sqlKey + '\'' +
                ", dtTableName='" + dtTableName + '\'' +
                ", dtColumnName=" + dtColumnName +
                ", dtColumnNameEcho='" + dtColumnNameEcho + '\'' +
                ", timeFormat='" + timeFormat + '\'' +
                ", isSelection='" + isSelection + '\'' +
                ", searchFieldList=" + searchFieldList +
                ", tableSql='" + tableSql + '\'' +
                ", tableExportField=" + tableExportField +
                ", tableExportFieldEcho=" + tableExportFieldEcho +
                ", echoData='" + echoData + '\'' +
                ", menuId=" + menuId +
                ", primaryKey='" + primaryKey + '\'' +
                ", orderByColumn='" + orderByColumn + '\'' +
                ", sortOrder='" + sortOrder + '\'' +
                '}';
    }

    public Long gettId() {
        return tId;
    }

    public void settId(Long tId) {
        this.tId = tId;
    }

    public String getDtName() {
        return dtName;
    }

    public void setDtName(String dtName) {
        this.dtName = dtName;
    }

    public String getDtNickname() {
        return dtNickname;
    }

    public void setDtNickname(String dtNickname) {
        this.dtNickname = dtNickname;
    }

    public String getTableKey() {
        return tableKey;
    }

    public void setTableKey(String tableKey) {
        this.tableKey = tableKey;
    }

    public String getSqlKey() {
        return sqlKey;
    }

    public void setSqlKey(String sqlKey) {
        this.sqlKey = sqlKey;
    }

    public String getDtTableName() {
        return dtTableName;
    }

    public void setDtTableName(String dtTableName) {
        this.dtTableName = dtTableName;
    }

    public Object getDtColumnName() {
        return dtColumnName;
    }

    public void setDtColumnName(Object dtColumnName) {
        this.dtColumnName = dtColumnName;
    }

    public String getDtColumnNameEcho() {
        return dtColumnNameEcho;
    }

    public void setDtColumnNameEcho(String dtColumnNameEcho) {
        this.dtColumnNameEcho = dtColumnNameEcho;
    }

    public String getTimeFormat() {
        return timeFormat;
    }

    public void setTimeFormat(String timeFormat) {
        this.timeFormat = timeFormat;
    }

    public String getIsSelection() {
        return isSelection;
    }

    public void setIsSelection(String isSelection) {
        this.isSelection = isSelection;
    }

    public List<String> getSearchFieldList() {
        return searchFieldList;
    }

    public void setSearchFieldList(List<String> searchFieldList) {
        this.searchFieldList = searchFieldList;
    }

    public String getTableSql() {
        return tableSql;
    }

    public void setTableSql(String tableSql) {
        this.tableSql = tableSql;
    }

    public Object getTableExportField() {
        return tableExportField;
    }

    public void setTableExportField(Object tableExportField) {
        this.tableExportField = tableExportField;
    }

    public Object getTableExportFieldEcho() {
        return tableExportFieldEcho;
    }

    public void setTableExportFieldEcho(String tableExportFieldEcho) {
        this.tableExportFieldEcho = tableExportFieldEcho;
    }

    public String getEchoData() {
        return echoData;
    }

    public void setEchoData(String echoData) {
        this.echoData = echoData;
    }

    public Long getMenuId() {
        return menuId;
    }

    public void setMenuId(Long menuId) {
        this.menuId = menuId;
    }

    public String getPrimaryKey() {
        return primaryKey;
    }

    public void setPrimaryKey(String primaryKey) {
        this.primaryKey = primaryKey;
    }

    public String getOrderByColumn() {
        return orderByColumn;
    }

    public void setOrderByColumn(String orderByColumn) {
        this.orderByColumn = orderByColumn;
    }

    public String getSortOrder() {
        return sortOrder;
    }

    public void setSortOrder(String sortOrder) {
        this.sortOrder = sortOrder;
    }

    public DragTableVo() {
    }

    public DragTableVo(Long tId, String dtName, String dtNickname, String tableKey, String sqlKey, String dtTableName, Object dtColumnName, String dtColumnNameEcho, String timeFormat, String isSelection, List<String> searchFieldList, String tableSql, Object tableExportField, String tableExportFieldEcho, String echoData, Long menuId, String primaryKey, String orderByColumn, String sortOrder) {
        this.tId = tId;
        this.dtName = dtName;
        this.dtNickname = dtNickname;
        this.tableKey = tableKey;
        this.sqlKey = sqlKey;
        this.dtTableName = dtTableName;
        this.dtColumnName = dtColumnName;
        this.dtColumnNameEcho = dtColumnNameEcho;
        this.timeFormat = timeFormat;
        this.isSelection = isSelection;
        this.searchFieldList = searchFieldList;
        this.tableSql = tableSql;
        this.tableExportField = tableExportField;
        this.tableExportFieldEcho = tableExportFieldEcho;
        this.echoData = echoData;
        this.menuId = menuId;
        this.primaryKey = primaryKey;
        this.orderByColumn = orderByColumn;
        this.sortOrder = sortOrder;
    }
}
