package com.fs.survey.domain;

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

/**
 * 问卷字段配置表对象 survey_field_config
 *
 */
@Data
public class SurveyFieldConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 租户ID */
    @Excel(name = "租户ID")
    private Long companyId;

    /** 版本ID */
    @Excel(name = "版本ID")
    private Long versionId;

    /** 问卷ID */
    @Excel(name = "问卷ID")
    private Long questionnaireId;

    /** 字段标识 */
    @Excel(name = "字段标识")
    private String fieldKey;

    /** 字段显示名 */
    @Excel(name = "字段显示名")
    private String fieldLabel;

    /** 组件类型 */
    @Excel(name = "组件类型")
    private String fieldTag;

    /** 组件图标 */
    @Excel(name = "组件图标")
    private String fieldTagIcon;

    /** 数据库列类型 */
    @Excel(name = "数据库列类型")
    private String dbColumnType;

    /** 数据库列长度 */
    @Excel(name = "数据库列长度")
    private Integer dbColumnLength;

    /** 是否必填：0否 1是 */
    @Excel(name = "是否必填", readConverterExp = "0=否,1=是")
    private Integer isRequired;

    /** 是否可搜索：0否 1是 */
    @Excel(name = "是否可搜索", readConverterExp = "0=否,1=是")
    private Integer isSearchable;

    /** 搜索方式 */
    @Excel(name = "搜索方式")
    private String searchType;

    /** 是否列表显示：0否 1是 */
    @Excel(name = "是否列表显示", readConverterExp = "0=否,1=是")
    private Integer isListShow;

    /** 列表列宽 */
    @Excel(name = "列表列宽")
    private Integer listWidth;

    /** 是否导出：0否 1是 */
    @Excel(name = "是否导出", readConverterExp = "0=否,1=是")
    private Integer isExport;

    /** 导出列名 */
    @Excel(name = "导出列名")
    private String exportLabel;

    /** 排序号 */
    @Excel(name = "排序号")
    private Integer sortOrder;

    /** 默认值 */
    @Excel(name = "默认值")
    private String defaultValue;

    /** 选项配置JSON */
    private String optionsJson;

    /** 校验规则JSON */
    private String regListJson;

    /** 原始__config__配置JSON */
    private String rawConfigJson;

}
