package com.ruoyi.interfaces.domain;

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

/**
 * 数据集字段对象 md_data_field
 *
 * @author 朱得糠
 * @date 2025-09-04
 */
public class MdDataField extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @Excel(name = "ID")
    private Long id;

    /**
     * 父id
     */
    @Excel(name = "父id")
    private Long parentId;

    /**
     * 数据集标识
     */
    @Excel(name = "数据集标识")
    private String dcCode;

    /**
     * 字段编码
     */
    @Excel(name = "字段编码")
    private String fieldCode;

    /**
     * 字段中文名
     */
    @Excel(name = "字段中文名")
    private String fieldName;

    /**
     * 字段类型
     */
    @Excel(name = "字段类型")
    private String fieldType;

    /**
     * 字段长度
     */
    @Excel(name = "字段长度")
    private String fieldLength;

    /**
     * 字段精度
     */
    @Excel(name = "字段精度")
    private String fieldPrecision;

    /**
     * 是否为主键
     */
    @Excel(name = "是否为主键")
    private String fieldIspri;

    /**
     * 是否允许为空
     */
    @Excel(name = "是否允许为空")
    private String fieldIsnullable;

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

    /**
     * 描述
     */
    @Excel(name = "描述")
    private String fieldDesc;

    /**
     * 字段状态
     */
    @Excel(name = "字段状态")
    private String fieldStatus;

    /**
     * 字段顺序
     */
    @Excel(name = "字段顺序")
    private Integer fieldOrder;

    /**
     * 字段扩展
     */
    @Excel(name = "字段扩展")
    private String fieldExtend;

    /**
     * 字段扩展表
     */
    @Excel(name = "字段扩展表")
    private String fieldExtendTable;

    /**
     * 字段输入类型
     */
    @Excel(name = "字段输入类型")
    private String fieldInputType;

    /**
     * 字段输入格式
     */
    @Excel(name = "字段输入格式")
    private String fieldInputFormat;

    /**
     * 字段输入默认值
     */
    @Excel(name = "字段输入默认值")
    private String fieldInputDefault;

    /**
     * 字段显示类型
     */
    @Excel(name = "字段显示类型")
    private String fieldViewType;

    /**
     * 字段字典
     */
    @Excel(name = "字段字典")
    private String fieldDict;

    /**
     * 是否数组
     */
    @Excel(name = "是否数组")
    private String isArray;

    /**
     * 数组坐标
     */
    @Excel(name = "数组坐标")
    private Integer arrayIndex;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setDcCode(String dcCode) {
        this.dcCode = dcCode;
    }

    public String getDcCode() {
        return dcCode;
    }

    public void setFieldCode(String fieldCode) {
        this.fieldCode = fieldCode;
    }

    public String getFieldCode() {
        return fieldCode;
    }

    public void setFieldName(String fieldName) {
        this.fieldName = fieldName;
    }

    public String getFieldName() {
        return fieldName;
    }

    public void setFieldType(String fieldType) {
        this.fieldType = fieldType;
    }

    public String getFieldType() {
        return fieldType;
    }

    public void setFieldLength(String fieldLength) {
        this.fieldLength = fieldLength;
    }

    public String getFieldLength() {
        return fieldLength;
    }

    public void setFieldPrecision(String fieldPrecision) {
        this.fieldPrecision = fieldPrecision;
    }

    public String getFieldPrecision() {
        return fieldPrecision;
    }

    public void setFieldIspri(String fieldIspri) {
        this.fieldIspri = fieldIspri;
    }

    public String getFieldIspri() {
        return fieldIspri;
    }

    public void setFieldIsnullable(String fieldIsnullable) {
        this.fieldIsnullable = fieldIsnullable;
    }

    public String getFieldIsnullable() {
        return fieldIsnullable;
    }

    public void setFieldDefault(String fieldDefault) {
        this.fieldDefault = fieldDefault;
    }

    public String getFieldDefault() {
        return fieldDefault;
    }

    public void setFieldDesc(String fieldDesc) {
        this.fieldDesc = fieldDesc;
    }

    public String getFieldDesc() {
        return fieldDesc;
    }

    public void setFieldStatus(String fieldStatus) {
        this.fieldStatus = fieldStatus;
    }

    public String getFieldStatus() {
        return fieldStatus;
    }

    public void setFieldOrder(Integer fieldOrder) {
        this.fieldOrder = fieldOrder;
    }

    public Integer getFieldOrder() {
        return fieldOrder;
    }

    public void setFieldExtend(String fieldExtend) {
        this.fieldExtend = fieldExtend;
    }

    public String getFieldExtend() {
        return fieldExtend;
    }

    public void setFieldExtendTable(String fieldExtendTable) {
        this.fieldExtendTable = fieldExtendTable;
    }

    public String getFieldExtendTable() {
        return fieldExtendTable;
    }

    public void setFieldInputType(String fieldInputType) {
        this.fieldInputType = fieldInputType;
    }

    public String getFieldInputType() {
        return fieldInputType;
    }

    public void setFieldInputFormat(String fieldInputFormat) {
        this.fieldInputFormat = fieldInputFormat;
    }

    public String getFieldInputFormat() {
        return fieldInputFormat;
    }

    public void setFieldInputDefault(String fieldInputDefault) {
        this.fieldInputDefault = fieldInputDefault;
    }

    public String getFieldInputDefault() {
        return fieldInputDefault;
    }

    public void setFieldViewType(String fieldViewType) {
        this.fieldViewType = fieldViewType;
    }

    public String getFieldViewType() {
        return fieldViewType;
    }

    public void setFieldDict(String fieldDict) {
        this.fieldDict = fieldDict;
    }

    public String getFieldDict() {
        return fieldDict;
    }

    public void setIsArray(String isArray) {
        this.isArray = isArray;
    }

    public String getIsArray() {
        return isArray;
    }

    public void setArrayIndex(Integer arrayIndex) {
        this.arrayIndex = arrayIndex;
    }

    public Integer getArrayIndex() {
        return arrayIndex;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("parentId", getParentId())
                .append("dcCode", getDcCode())
                .append("fieldCode", getFieldCode())
                .append("fieldName", getFieldName())
                .append("fieldType", getFieldType())
                .append("fieldLength", getFieldLength())
                .append("fieldPrecision", getFieldPrecision())
                .append("fieldIspri", getFieldIspri())
                .append("fieldIsnullable", getFieldIsnullable())
                .append("fieldDefault", getFieldDefault())
                .append("fieldDesc", getFieldDesc())
                .append("fieldStatus", getFieldStatus())
                .append("fieldOrder", getFieldOrder())
                .append("fieldExtend", getFieldExtend())
                .append("fieldExtendTable", getFieldExtendTable())
                .append("fieldInputType", getFieldInputType())
                .append("fieldInputFormat", getFieldInputFormat())
                .append("fieldInputDefault", getFieldInputDefault())
                .append("fieldViewType", getFieldViewType())
                .append("fieldDict", getFieldDict())
                .append("isArray", getIsArray())
                .append("arrayIndex", getArrayIndex())
                .toString();
    }
}
