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_use_engergy")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "重点企业用能情况表")
public class UseEngergy 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 enterpriseName;

    @ApiModelProperty(value = "统一社会信用代码")
    private String enterpriseCode;

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

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

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

    @ApiModelProperty(value = "上一年综合能源消费量-当量值")
    private String lastYearElv;

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

    @ApiModelProperty(value = "当年某月综合能源消费量-当量值")
    private String curYearMonthElv;

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

    @ApiModelProperty(value = "当年1月至某月-当量值")
    private String dateSectionElv;

    @ApiModelProperty(value = "当年1月至某月-等价值")
    private String dateSectionEv;

    @ApiModelProperty(value = "上一年某月耗电量")
    private String lastMonthElectricValue;

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

    @ApiModelProperty(value = "统计周期-季度")
    private String scQuarter;

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

    @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 List<ZstbProduce> produceList;

    //某月产品能源消费量（吨标准煤）
    @TableField(exist=false)
    private String curYearMonthEnergy;

    //企业总数
    @TableField(exist=false)
    private Integer num;

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

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

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