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.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 耗能指标信息
 * @author stz
 * @since 2020-08-05
 */
@Data
@TableName("energy_index")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "耗能指标信息")
public class EnergyIndex extends Model<EnergyIndex> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 指标编码
     */
    @ApiModelProperty(value = "指标编码")
    private String num;

    /**
     * 指标名称
     */
    @ApiModelProperty(value = "指标名称")
    private String indexName;

    /**
     * 指标单位
     */
    @ApiModelProperty(value = "指标单位")
    private String indexUnit;

    /**
     * 子项单位
     */
    @ApiModelProperty(value = "子项单位")
    private String childUnit;

    /**
     * 母项单位
     */
    @ApiModelProperty(value = "母项单位")
    private String mumUnit;

    /**
     * 换算系数
     */
    @ApiModelProperty(value = "换算系数")
    private String changeModulus;

    /**
     * 所属行业编码
     */
    @ApiModelProperty(value = "行业编码")
    private String tradeProductCode;

    /**
     * 所属行业名称
     */
    @ApiModelProperty(value = "行业名称")
    private String tradeProductName;

    /**
     * 关联产品编码（product_info表的产品编码）
     */
    @ApiModelProperty(value = "关联产品编码 product_info表的产品")
    private String productInfoNum;

    /**
     * 关联产品名称（product_info表的产品）
     */
    @ApiModelProperty(value = "关联产品名称 product_info表的产品")
    private String productInfoName;

    /**
     * 地区值限额值
     */
    @ApiModelProperty(value = "地区限额值")
    private String localLimit;

    /**
     * 地区值准入值
     */
    @ApiModelProperty(value = "地区准入值")
    private String localAccept;

    /**
     * 地区值先进值
     */
    @ApiModelProperty(value = "地区先进值")
    private String localGood;

    /**
     * 国家值限额值
     */
    @ApiModelProperty(value = "国家限额值")
    private String govLimit;

    /**
     * 国家值准入值
     */
    @ApiModelProperty(value = "国家准入值")
    private String govAccept;

    /**
     * 国家值先进值
     */
    @ApiModelProperty(value = "国家先进值")
    private String govGood;

    /**
     * 注入行业表
     */
    @ApiModelProperty(value = "注入行业表")
    @TableField(exist = false) //不是数据库表字段
    private List<TradeProduct> tradeProducts;

    /**
     *
     */
    @ApiModelProperty(value = "行业名")
    @TableField(exist = false) //不是数据库表字段
    private String tName;

    /**
     * 用户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;

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

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


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


    @TableField(value = "false")
    @ApiModelProperty(value = "指标个数")
    private Integer zbnum;
}
