package com.hotent.surveyinfo.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hotent.base.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 指标项子表
 *
 * @company 山西清众科技股份有限公司
 * @author 超级管理员
 * @since 2025-09-19
 */
@ApiModel(value="CostSurveyFdTemplateItems对象", description="指标项子表")
public class CostSurveyFdTemplateItems extends BaseModel<CostSurveyFdTemplateItems> {

    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 = "财务数据表头id")
    @TableField("headers_id")
    @JsonProperty("headersId")
    private String headersId;
    @ApiModelProperty(value = "版本id")
    @TableField("version_id")
    @JsonProperty("versionId")
    private String versionId;
//    @ApiModelProperty(value = "项目名称")
//    @TableField("name")
//    @JsonProperty("name")
//    private String name;
    
    @ApiModelProperty(value = "指标编号")
    @TableField("cell_code")
    @JsonProperty("cellCode")
    private String cellCode;
    
    @ApiModelProperty(value = "计算公式")
    @TableField("calculation_formula")
    @JsonProperty("calculationFormula")
    private String calculationFormula;
    
    @ApiModelProperty(value = "单位")
    @TableField("unit")
    @JsonProperty("unit")
    private String unit;

    public String getHeadersId() {
        return headersId;
    }

    public void setHeadersId(String headersId) {
        this.headersId = headersId;
    }

    @ApiModelProperty(value = "顺序")
    @TableField("order_num")
    @JsonProperty("orderNum")
    private Integer orderNum;


    @ApiModelProperty(value = "序号")
    @TableField("order_text")
    @JsonProperty("orderText")
    private String orderText;


    /**
     * 数据key
     */
    @ApiModelProperty(value = "数据key")
    @TableField("rkey")
    @JsonProperty("rkey")
    private String rkey;



    public String getVersionId() {
        return versionId;
    }

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

    public String getOrderText() {
        return orderText;
    }

    public void setOrderText(String orderText) {
        this.orderText = orderText;
    }



    public String getJsonStr() {
        return jsonStr;
    }

    public void setJsonStr(String jsonStr) {
        this.jsonStr = jsonStr;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public String getRkey() {
        return rkey;
    }

    public String getRvalue() {
        return rvalue;
    }

    public void setRvalue(String rvalue) {
        this.rvalue = rvalue;
    }

    public void setRkey(String rkey) {
        this.rkey = rkey;
    }

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

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    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 getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    @Override
    public String toString() {
        return "CostSurveyFdTemplateItems{" +
                "id='" + id + '\'' +
                ", surveyTemplateId='" + surveyTemplateId + '\'' +
                ", headersId='" + headersId + '\'' +
                ", versionId='" + versionId + '\'' +
                ", cellCode='" + cellCode + '\'' +
                ", calculationFormula='" + calculationFormula + '\'' +
                ", unit='" + unit + '\'' +
                ", orderNum=" + orderNum +
                ", orderText='" + orderText + '\'' +
                ", rkey='" + rkey + '\'' +
                ", rvalue='" + rvalue + '\'' +
                ", jsonStr='" + jsonStr + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", createBy='" + createBy + '\'' +
                ", updateBy='" + updateBy + '\'' +
                ", projectId='" + projectId + '\'' +
                ", rowid='" + rowid + '\'' +
                ", parentid='" + parentid + '\'' +
                ", calculationTemplateId='" + calculationTemplateId + '\'' +
                '}';
    }

    /**
     * 数据值
     */
    @ApiModelProperty(value = "数据值")
    @TableField("rvalue")
    @JsonProperty("rvalue")
    private String rvalue;

    /**
     * 数据的json串
     */
    @ApiModelProperty(value = "数据的json串")
    @TableField("json_str")
    @JsonProperty("jsonStr")
    private String jsonStr;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    @JsonProperty("createTime")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    @JsonProperty("updateTime")
    private LocalDateTime updateTime;

    /**
     * 创建人
     */
    @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("project_id")
    @JsonProperty("projectId")
    private String projectId;
    /**
     * 项目ID
     */
    @ApiModelProperty(value = "行数据id")
    @TableField("rowid")
    @JsonProperty("rowid")
    private String rowid;


    /**
     * 项目ID
     */
    @ApiModelProperty(value = "父节点id")
    @TableField("parentid")
    @JsonProperty("parentid")
    private String parentid;

    public String getRowid() {
        return rowid;
    }

    public void setRowid(String rowid) {
        this.rowid = rowid;
    }

    public String getParentid() {
        return parentid;
    }

    public void setParentid(String parentid) {
        this.parentid = parentid;
    }

    public String getCalculationTemplateId() {
        return calculationTemplateId;
    }

    public void setCalculationTemplateId(String calculationTemplateId) {
        this.calculationTemplateId = calculationTemplateId;
    }

    /**
     * 项目ID
     */
    @ApiModelProperty(value = "公式引用其他模板的id")
    @TableField("calculation_template_id")
    @JsonProperty("calculationTemplateId")
    private String calculationTemplateId;

    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 getCellCode() {
        return cellCode;
    }

    public void setCellCode(String cellCode) {
        this.cellCode = cellCode;
    }
    public String getCalculationFormula() {
        return calculationFormula;
    }

    public void setCalculationFormula(String calculationFormula) {
        this.calculationFormula = calculationFormula;
    }
    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }
    public Integer getOrderNum() {
        return orderNum;
    }

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


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

}
