
package com.lideeyunji.core.framework.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lideeyunji.tool.framework.yunji.model.global.BaseTenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 表单开发
 */
@TableName("yunji_dbform") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode
public class FormEntity extends BaseTenantEntity {

    /**
     * 表名
     */
    private String tableName;

    /**
     * 表描述
     */
    private String tableDescribe;

    /**
     * 表类型;1单表、2树表、3主表、4附表
     */
    private Integer tableType;

    /**
     * 表分类;
     */
    private Integer tableClassify;

    /**
     * 主键类型;
     */
    private String tableIdType;

    /**
     * 表格选择类型;multiple   radio
     */
    private String tableSelect;

    /**
     * 同步数据库状态;N=未同步  Y=已同步
     */
    private String isDbSync;

    /**
     * 是否用设计器表单;N=不 启用  Y=已启用
     */
    private String isDesForm;

    /**
     * 附表-映射关系
     */
    private String subTableMapping;

    /**
     * 附表-排序序号
     */
    private Integer subTableSort;

    /**
     * 附表-标题
     */
    private String subTableTitle;

    /**
     * 主题模板
     */
    private String themeTemplate;

    /**
     * WEB表单设计ID
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private Long desformWebId;

    /**
     * 树表样式
     */
    private String treeStyle;

    /**
     * 树表模式
     */
    private String treeMode;

    /**
     * 树表展开字段
     */
    private String treeLabelField;

    /**
     * 树表展开/折叠按钮
     */
    private String treeExpandBtn;

    /**
     * 操作栏样式
     */
    private String operateMenuStyle;

    /**
     * 操作栏最大横排数
     */
    private Integer maxMenuNum;

    /**
     * 表单风格
     */
    private Integer formStyle;


    /**
     * 表单开发分组id
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private Long groupDbformId;

    /**
     * 默认排序字段
     */
    private String orderbyConfig;

    /**
     * 默认条件配置
     */
    private String whereConfig;

    /**
     * 子表列表
     */
    private String subTableListStr;

    /**
     * 是否显示系统字段;N=不 启用  Y=已启用
     */
    private String viewDefaultField;

    /**
     * 数据配置
     */
    private String dataConfig;

    /**
     * 基础功能
     */
    private String basicFunction;

    /**
     * 基础配置
     */
    private String basicConfig;

    /**
     * 表格配置
     */
    private String tableConfig;

    /**
     * 表视图数据来源配置
     */
    private String dataSourcesConfig;

    /**
     * 前端额外配置
     */
    private String webConfig;

    /**
     * 单表样式
     */
    private String tableStyle;

    /**
     * 导入去重类型
     * update:直接更新
     * delete_update:先删除再更新
     */
    private String importDuplicateType;
}

