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="CostNoticeTemplate对象", description="成本通知模板表")
public class CostNoticeTemplate extends BaseModel<CostNoticeTemplate> {

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "survey_template_id")
    @JsonProperty("surveyTemplateId")
    private String surveyTemplateId;
    
    @ApiModelProperty(value = "通知模板名称")
    @TableField("survey_template_name")
    @JsonProperty("surveyTemplateName")
    private String surveyTemplateName;
    
    @ApiModelProperty(value = "通知模板名称(英文)")
    @TableField("survey_template_name_yw")
    @JsonProperty("surveyTemplateNameYw")
    private String surveyTemplateNameYw;
    
    @ApiModelProperty(value = "模版类型1单记录 2固定表 3动态表")
    @TableField("template_type")
    @JsonProperty("templateType")
    private String templateType;
    
    @ApiModelProperty(value = "通知数据存储表名称")
    @TableField("storage_table")
    @JsonProperty("storageTable")
    private String storageTable;
    
    @ApiModelProperty(value = "状态（-1草稿,0启用,1停用）")
    @TableField("status")
    @JsonProperty("status")
    private String status;
    
    @ApiModelProperty(value = "关联成本监审目录ID")
    @TableField("catalog_id")
    @JsonProperty("catalogId")
    private String catalogId;
    
    @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;
    
    @ApiModelProperty(value = "监审内容类型")
    @TableField("content_type")
    @JsonProperty("contentType")
    private String contentType;
    
    @ApiModelProperty(value = "监审类别")
    @TableField("type")
    @JsonProperty("type")
    private String type;
    
    @ApiModelProperty(value = "说明")
    @TableField("remarks")
    @JsonProperty("remarks")
    private String remarks;

    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    @ApiModelProperty(value = "是否删除")
    @TableField("is_delete")
    @JsonProperty("isDelete")
    private String isDelete;

    public String getVersionNo() {
        return versionNo;
    }

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

    @ApiModelProperty(value = "生成模板依赖模型：1成本调查表固定表 2.历史成本审核表")
    @TableField("createmode")
    @JsonProperty("createmode")
    private String createmode;


    @ApiModelProperty(value = "生成模板依赖模型id")
    @TableField("createtemplateid")
    @JsonProperty("createtemplateid")
    private String createtemplateid;

    @Override
    public String toString() {
        return "CostVerifyTemplate{" +
                "surveyTemplateId='" + surveyTemplateId + '\'' +
                ", surveyTemplateName='" + surveyTemplateName + '\'' +
                ", surveyTemplateNameYw='" + surveyTemplateNameYw + '\'' +
                ", templateType='" + templateType + '\'' +
                ", storageTable='" + storageTable + '\'' +
                ", status='" + status + '\'' +
                ", catalogId='" + catalogId + '\'' +
                ", createTime=" + createTime +
                ", createBy='" + createBy + '\'' +
                ", updateTime=" + updateTime +
                ", updateBy='" + updateBy + '\'' +
                ", contentType='" + contentType + '\'' +
                ", type='" + type + '\'' +
                ", remarks='" + remarks + '\'' +
                ", isDelete='" + isDelete + '\'' +
                ", createmode='" + createmode + '\'' +
                ", createtemplateid='" + createtemplateid + '\'' +
                ", versionNo='" + versionNo + '\'' +
                ", areaCode='" + areaCode + '\'' +
                ", areaLevel='" + areaLevel + '\'' +
                '}';
    }

    public String getCreatemode() {
        return createmode;
    }

    public void setCreatemode(String createmode) {
        this.createmode = createmode;
    }

    public String getCreatetemplateid() {
        return createtemplateid;
    }

    public void setCreatetemplateid(String createtemplateid) {
        this.createtemplateid = createtemplateid;
    }

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

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


    @ApiModelProperty(value = "区域级别")
    @TableField("area_level")
    @JsonProperty("areaLevel")
    private String areaLevel;

    public String getAreaCode() {
        return areaCode;
    }

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

    public String getAreaLevel() {
        return areaLevel;
    }

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

    public String getSurveyTemplateId() {
        return surveyTemplateId;
    }

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

    public String getSurveyTemplateName() {
        return surveyTemplateName;
    }

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

    public void setSurveyTemplateNameYw(String surveyTemplateNameYw) {
        this.surveyTemplateNameYw = surveyTemplateNameYw;
    }
    public String getTemplateType() {
        return templateType;
    }

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

    public void setStorageTable(String storageTable) {
        this.storageTable = storageTable;
    }
    public String getStatus() {
        return status;
    }

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

    public void setCatalogId(String catalogId) {
        this.catalogId = catalogId;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    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 String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }
    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
    public String getRemarks() {
        return remarks;
    }

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


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

}
