package com.nantian.cloud.jljc.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@TableName("zstb_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "节能评估审查实施情况表")
public class ZstbInfo extends Model<DataAudition> {

    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty(value = "统计周期-年")
    private String scYear;

    @ApiModelProperty(value = "统计周期-月")
    private String scMonth;

    @ApiModelProperty(value = "项目名称")
    private String name;

    @ApiModelProperty(value = "项目代码")
    private String projectCode;

    @ApiModelProperty(value = "建设单位")
    private String enterpriseCode;

    @ApiModelProperty(value = "建设单位名称")
    private String enterpriseName;

    @ApiModelProperty(value = "所在州市")
    private String area;

    @TableField(exist = false)
    @ApiModelProperty(value = "所在州市")
    private List<String> areaTmp;

    @ApiModelProperty(value = "行业代码")
    private String industryCode;

    @ApiModelProperty(value = "行业类型")
    private String industryType;

    @ApiModelProperty(value = "两高行业代码")
    private String lgIndustryCode;

    @ApiModelProperty(value = "开工时间")
    private String startDate;

    @ApiModelProperty(value = "拟投产时间")
    private String produceDate;

    @ApiModelProperty(value = "节能审查机关")
    private String checkUnit;

    @ApiModelProperty(value = "审查完成时间")
    private String checkFinishDate;

    @ApiModelProperty(value = "审查意见文号")
    private String checkFileCode;

    @ApiModelProperty(value = "投资额")
    private String investment;

    @ApiModelProperty(value = "产值")
    private String outputValue;

    @TableId(value = "zhnh_dl_value")
    @ApiModelProperty(value = "年综合能源消费量-当量值")
    private String zhnhDlValue;

    @ApiModelProperty(value = "年综合能源消费量-等价值")
    private String zhnhDjValue;

    @ApiModelProperty(value = "节能效果")
    private String result;

    @ApiModelProperty(value = "电力消耗量")
    private String electricValue;

    @ApiModelProperty(value = "煤炭消费量")
    private String coalValue;

    @ApiModelProperty(value = "部门ID")
    private String deptId;

    @ApiModelProperty(value = "数据添加时间")
    private Date addTime;

    @ApiModelProperty(value = "数据修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "注销状态,1：未注销、4：已注销")
    private String delFlag;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "数据行政标志（1：区县，2：州市）")
    private String adminisFlag;

    @ApiModelProperty(value = "数据审核状态（示例：{\"city\": \"xxx\", province: \"xxx\"}, city表示州市审核情况，province表示省级审核情况，未审核时状态为0， 审核通过后状态为1，审核不通过状态为2）")
    private String auditorFlag;

    @ApiModelProperty(value = "数据修改人员（示例：{\"city\": \"xxx\", province: \"xxx\"}, city表示州市修改人员， province表示省级修改人员，xxx表示修改人员姓名，没有修改人员时默认为空）")
    private String updateUser;

    @ApiModelProperty(value = "数据审核人员（示例：{\"\"city: \"xxx\", province: \"xxx\"}，city表示州市修改人员，province表示省级修改人员，xxx表示修改人员姓名， 没有修改人员时默认为空）")
    private String auditUser;

    @ApiModelProperty(value = "审核未通过原因（示例：{\"city\": \"xxx\", \"province\":\"xxx},city表示州市审核未通过原因，province表示省级未通过原因，xxx表示具体原因，没有默认为空）")
    private String cause;

    @ApiModelProperty(value = "数据上报人员（示例：{\"country\": \"xxx\", \"city\": \"xxx\"}）,country表示区县上报人员， city表示州市上报人员，没有上报时默认为空")
    private String reportUser;

    @ApiModelProperty(value = "上报状态（示例：{\"country\": \"xxx\", \"city\": \"xxx\"}，country表示区县上报状态，city表示州市上报状态，数据未上报时状态为0，数据已上报时状态为1）")
    private String reportStatus;

    //项目总数
    @TableField(exist=false)
    private Integer num;

    //上报至州市的项目总数
    @TableField(exist=false)
    private Integer cityNum;

    //上报至省级的项目总数
    @TableField(exist=false)
    private Integer provNum;

    //地区
    @TableField(exist=false)
    private String regionName;

    @ApiModelProperty(value = "项目性质")
    private String projectNature;

    @ApiModelProperty(value = "建设内容")
    private String constructionContent;

    @ApiModelProperty(value = "主要产品")
    private String mainProduct;

    @ApiModelProperty(value = "是否已开工（是:1/否:0）")
    private String startOrNot;

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

    @ApiModelProperty(value = "建设起止时间")
    private String startAndEndTime;

    @ApiModelProperty(value = "原料用能消费量（吨标准煤）")
    private String energyConsumption;

    @ApiModelProperty(value = "单位工业增加值能耗（吨标准煤/万元）")
    private String industrialAddValue;

    @ApiModelProperty(value = "设计用电负荷（万kW）")
    private String designPowerLoad;

    @ApiModelProperty(value = "年设计用电量（万kWh）")
    private String annualPowerConsumption;

    @ApiModelProperty(value = "度电产值（元/kWh）")
    private String kilowattHourOutputValue;

}
