package com.nantian.cloud.jljc.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 固定资产投资项目节能审查
 * @author stz
 * @since 2020-09-21
 */
@Data
@TableName("t_project_energy_saving")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "固定资产投资项目节能审查")
public class TProjectEnergySaving extends Model<TProjectEnergySaving>{

    //private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Integer userid;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 注销状态（1：未删除，4：已删除）
     */
    @ApiModelProperty(value = "注销状态（1：未删除，4：已删除）")
    private String delFlag;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    private Integer deptId;

    /**
     * 项目类别
     */
    @ApiModelProperty(value = "项目类别")
    private String projectType;

    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称")
    private String projectName;

    /**
     * 项目建设内容
     */
    @ApiModelProperty(value = "项目建设内容")
    private String projectDesc;

    /**
     * 投资金额（万元）
     */
    @ApiModelProperty(value = "投资金额（万元）")
    private BigDecimal investmentAmount;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间（开工时间）")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间（竣工时间）")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    /**
     * 项目进度
     */
    @ApiModelProperty(value = "项目进度")
    private String projectProgress;

    /**
     * 审批部门
     */
    @ApiModelProperty(value = "审批部门")
    private String departments;

    /**
     * 企业信用代码
     */
    @ApiModelProperty(value = "企业信用代码")
    private String epc;

    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    private String epcName;

    /**
     * 状态：1 申请 2 初审 3机构评审 4 备案
     */
    @ApiModelProperty(value = "状态：1 申请 2 初审 3机构评审 4 备案")
    private String state;

    /**
     * 预期年产值
     */
    @ApiModelProperty(value = "预期年产值")
    private BigDecimal annualProduction;

    /**
     * 附件固定资产投资项目节能审查申请书
     */
    @ApiModelProperty(value = "附件固定资产投资项目节能审查申请书")
    private String applicationForm;

    /**
     * 附件固定资产投资项目节能报告
     */
    @ApiModelProperty(value = "附件固定资产投资项目节能报告")
    private String energySavingProject;

    /**
     * 附件项目可行性研究报告（或项目申请报告或项目备案登记表）
     */
    @ApiModelProperty(value = "附件项目可行性研究报告（或项目申请报告或项目备案登记表）")
    private String feasibilityStudyReport;

    /**
     * 预计年能耗总量（吨标准煤）
     */
    @ApiModelProperty(value = "预计年能耗总量（吨标准煤）")
    private float energyYear;

    /**
     * 处置方式：1 备案 2 审批 3 核准
     */
    @ApiModelProperty(value = "处置方式：1 备案 2 审批 3 核准")
    private String action;


    /**
     * 内容
     */
    @ApiModelProperty(value = "内容")
    private String content;

    /**
     * 审查前评估报告能耗当量值
     */
    @ApiModelProperty(value = "审查前评估报告能耗当量值")
    private String frontEnergy;

    /**
     * 审查前评估报告能耗等价值
     */
    @ApiModelProperty(value = "审查前评估报告能耗等价值")
    private String frontEnergyEqual;

    /**
     * 审查后评估报告能耗当量值
     */
    @ApiModelProperty(value = "审查后评估报告能耗当量值")
    private String afterEnergy;

    /**
     * 审查后评估报告能耗等价值
     */
    @ApiModelProperty(value = "审查后评估报告能耗等价值")
    private String afterEnergyEqual;

    /**
     * 项目单位产品能耗json
     */
    @ApiModelProperty(value = "项目单位产品能耗json")
    private String productEnergyJson;

    /**
     * 项目能源消费增量（等价值）
     */
    @ApiModelProperty(value = "项目能源消费增量（等价值）")
    private String energyIncrement;


    /**
     * 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
