package com.hotent.surveyinfo.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hotent.base.entity.BaseModel;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
 * 成本调查表头子表
 *
 * @company 山西清众科技股份有限公司
 * @author 超级管理员
 * @since 2025-09-19
 */
@ApiModel(value="CostSurveyTemplateHeaders对象", description="成本调查表头子表")
public class CostSurveyTemplateHeaders extends BaseModel<CostSurveyTemplateHeaders> {

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id")
    @JsonProperty("id")
    private String id;
    
    @ApiModelProperty(value = "关联成本调查表ID")
    @TableField("survey_template_id")
    @JsonProperty("surveyTemplateId")
    private String surveyTemplateId;
    
    @ApiModelProperty(value = "字段名称")
    @TableField("field_name")
    @JsonProperty("fieldName")

    private String fieldName;

    public String getFieldEname() {
        return fieldEname;
    }

    public void setFieldEname(String fieldEname) {
        this.fieldEname = fieldEname;
    }

    public String getColumnType() {
        return columnType;
    }

    public void setColumnType(String columnType) {
        this.columnType = columnType;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public String getVersionId() {
        return versionId;
    }

    public void setVersionId(String versionId) {
        this.versionId = versionId;
    }

    @ApiModelProperty(value = "字段英文名称")
    @TableField("field_ename")
    @JsonProperty("fieldEname")
    private String fieldEname;

    @ApiModelProperty(value = "字段类型")
    @TableField("field_type")
    @JsonProperty("fieldType")
    private String fieldType;

    public Integer getFieldTypelen() {
        return fieldTypelen;
    }

    public void setFieldTypelen(Integer fieldTypelen) {
        this.fieldTypelen = fieldTypelen;
    }

    public Integer getFieldTypenointlen() {
        return fieldTypenointlen;
    }

    public void setFieldTypenointlen(Integer fieldTypenointlen) {
        this.fieldTypenointlen = fieldTypenointlen;
    }

    @ApiModelProperty(value = "字段类型长度")
    @TableField("field_typelen")
    @JsonProperty("fieldTypelen")
    private Integer fieldTypelen;

    @ApiModelProperty(value = "字段类型小数位长度")
    @TableField("field_typenointlen")
    @JsonProperty("fieldTypenointlen")
    private Integer fieldTypenointlen;

    @ApiModelProperty(value = "格式")
    @TableField("format")
    @JsonProperty("format")
    private String format;
    
    @ApiModelProperty(value = "是否必填")
    @TableField("is_required")
    @JsonProperty("isRequired")
    private String isRequired;
    
    @ApiModelProperty(value = "是否绑定监审期间")
    @TableField("is_audit_period")
    @JsonProperty("isAuditPeriod")
    private String isAuditPeriod;
    
    @ApiModelProperty(value = "是否绑定字典")
    @TableField("is_dict")
    @JsonProperty("isDict")
    private String isDict;
    
    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    @JsonProperty("createTime")
    private LocalDateTime createTime;
    
    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    @JsonProperty("updateTime")
    private LocalDateTime updateTime;
    
    @ApiModelProperty(value = "顺序")
    @TableField("order_num")
    @JsonProperty("orderNum")
    private String orderNum;

    public String getDictid() {
        return dictid;
    }

    public void setDictid(String dictid) {
        this.dictid = dictid;
    }

    @ApiModelProperty(value = "字典id")
    @TableField("dictid")
    @JsonProperty("dictid")
    private String dictid;

    public String getDictCode() {
        return dictCode;
    }

    public void setDictCode(String dictCode) {
        this.dictCode = dictCode;
    }

    @ApiModelProperty(value = "字典code值")
    @TableField("dict_code")
    @JsonProperty("dictCode")
    private String dictCode;


    public String getTabtype() {
        return tabtype;
    }

    public void setTabtype(String tabtype) {
        this.tabtype = tabtype;
    }

    @ApiModelProperty(value = "表类型 ：0-单表 1-固定表 2-动态表")
    @TableField("tabtype")
    @JsonProperty("tabtype")
    private String tabtype;



    @ApiModelProperty(value = "列描述")
    @TableField("column_comment")
    @JsonProperty("columnComment")
    private String columnComment;


    @ApiModelProperty(value = "列类型")
    @TableField("column_type")
    @JsonProperty("columnType")
    private String columnType;



    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @TableField("create_by")
    @JsonProperty("createBy")
    private String createBy;



    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    @TableField("update_by")
    @JsonProperty("updateBy")
    private String updateBy;




    /**
     * 版本id
     */
    @ApiModelProperty(value = "版本id")
    @TableField("version_id")
    @JsonProperty("versionId")
    private String versionId;

    /**
     * 隐藏字段显示 0-隐藏字段 1-显示字段
     */
    @ApiModelProperty(value = "隐藏字段显示 0-隐藏字段 1-显示字段")
    @TableField("showVisible")
    @JsonProperty("showVisible")
    private String showVisible;

    public String getAreaCode() {
        return areaCode;
    }

    @Override
    public String toString() {
        return "CostSurveyTemplateHeaders{" +
                "id='" + id + '\'' +
                ", surveyTemplateId='" + surveyTemplateId + '\'' +
                ", fieldName='" + fieldName + '\'' +
                ", fieldEname='" + fieldEname + '\'' +
                ", fieldType='" + fieldType + '\'' +
                ", fieldTypelen=" + fieldTypelen +
                ", fieldTypenointlen=" + fieldTypenointlen +
                ", format='" + format + '\'' +
                ", isRequired='" + isRequired + '\'' +
                ", isAuditPeriod='" + isAuditPeriod + '\'' +
                ", isDict='" + isDict + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", orderNum='" + orderNum + '\'' +
                ", dictid='" + dictid + '\'' +
                ", dictCode='" + dictCode + '\'' +
                ", tabtype='" + tabtype + '\'' +
                ", columnComment='" + columnComment + '\'' +
                ", columnType='" + columnType + '\'' +
                ", createBy='" + createBy + '\'' +
                ", updateBy='" + updateBy + '\'' +
                ", versionId='" + versionId + '\'' +
                ", showVisible='" + showVisible + '\'' +
                ", areaCode='" + areaCode + '\'' +
                ", areaLevel='" + areaLevel + '\'' +
                '}';
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getAreaLevel() {
        return areaLevel;
    }

    public void setAreaLevel(String areaLevel) {
        this.areaLevel = areaLevel;
    }

    @ApiModelProperty(value = "区域编码")
    @TableField("area_code")
    @JsonProperty("areaCode")
    private String areaCode;


    @ApiModelProperty(value = "区域级别")
    @TableField("area_level")
    @JsonProperty("areaLevel")
    private String areaLevel;
    public String getShowVisible() {
        return showVisible;
    }

    public void setShowVisible(String showVisible) {
        this.showVisible = showVisible;
    }

    public String getColumnComment() {
        return columnComment;
    }

    public void setColumnComment(String columnComment) {
        this.columnComment = columnComment;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getSurveyTemplateId() {
        return surveyTemplateId;
    }

    public void setSurveyTemplateId(String surveyTemplateId) {
        this.surveyTemplateId = surveyTemplateId;
    }
    public String getFieldName() {
        return fieldName;
    }

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

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

    public void setFormat(String format) {
        this.format = format;
    }
    public String getIsRequired() {
        return isRequired;
    }

    public void setIsRequired(String isRequired) {
        this.isRequired = isRequired;
    }
    public String getIsAuditPeriod() {
        return isAuditPeriod;
    }

    public void setIsAuditPeriod(String isAuditPeriod) {
        this.isAuditPeriod = isAuditPeriod;
    }
    public String getIsDict() {
        return isDict;
    }

    public void setIsDict(String isDict) {
        this.isDict = isDict;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
