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="CostSurveyFdTemplateVersion对象", description="财务数据表版本")
public class CostSurveyFdTemplateVersion extends BaseModel<CostSurveyFdTemplateVersion> {

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键")
    @TableId(value = "id")
    @JsonProperty("id")
    private String id;

    @ApiModelProperty(value = "关联财务数据表ID")
    @TableField("survey_template_id")
    @JsonProperty("surveyTemplateId")
    private String surveyTemplateId;


    

    
    @ApiModelProperty(value = "状态：-1草稿 0现行 1历史")
    @TableField("status")
    @JsonProperty("status")
    private String status;



    @ApiModelProperty(value = "版本号")
    @TableField("version_no")
    @JsonProperty("versionNo")
    private String versionNo;

    /**
     * 数据存储表名
     */
    @ApiModelProperty(value = "数据存储表名")
    @TableField("survey_template_name")
    @JsonProperty("surveyTemplateName")
    private String surveyTemplateName;


    
    @ApiModelProperty(value = "备注")
    @TableField("remarks")
    @JsonProperty("remarks")
    private String remarks;
    
//    @ApiModelProperty(value = "逻辑删除：0-正常，1-删除")
//    @TableField("is_deleted")
//    @JsonProperty("isDeleted")
//    private Boolean isDeleted;
    

    
    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    @JsonProperty("createTime")
    private LocalDateTime createTime;
    
    @ApiModelProperty(value = "创建人")
    @TableField("create_by")
    @JsonProperty("createBy")
    private String createBy;
    
    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    @JsonProperty("updateTime")
    private LocalDateTime updateTime;
    
    @ApiModelProperty(value = "更新人")
    @TableField("update_by")
    @JsonProperty("updateBy")
    private String updateBy;


    public String getId() {
        return id;
    }

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

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getVersionNo() {
        return versionNo;
    }

    public void setVersionNo(String versionNo) {
        this.versionNo = versionNo;
    }

    public String getSurveyTemplateName() {
        return surveyTemplateName;
    }

    public void setSurveyTemplateName(String surveyTemplateName) {
        this.surveyTemplateName = surveyTemplateName;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public String getTemplateType() {
        return templateType;
    }

    @ApiModelProperty(value = "模版类型1单记录 2固定表 3动态表")
    @TableField("template_type")
    @JsonProperty("templateType")
    private String templateType;

    @Override
    public String toString() {
        return "CostSurveyTemplateVersion{" +
                "id='" + id + '\'' +
                ", surveyTemplateId='" + surveyTemplateId + '\'' +
                ", status='" + status + '\'' +
                ", versionNo='" + versionNo + '\'' +
                ", surveyTemplateName='" + surveyTemplateName + '\'' +
                ", remarks='" + remarks + '\'' +
                ", createTime=" + createTime +
                ", createBy='" + createBy + '\'' +
                ", updateTime=" + updateTime +
                ", updateBy='" + updateBy + '\'' +
                ", templateType='" + templateType + '\'' +
                ", orderNum='" + orderNum + '\'' +
                '}';
    }



    @ApiModelProperty(value = "序号")
    @TableField("order_num")
    @JsonProperty("orderNum")
    private String orderNum;

    public String getOrderNum() {
        return orderNum;
    }

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

    public String getSurveyTemplateId() {
        return surveyTemplateId;
    }

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

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
    public String getUpdateBy() {
        return updateBy;
    }

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


    public void setTemplateType(String templateType) {
        this.templateType = templateType;
    }


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


}
