package com.nantian.cloud.dbcapp.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.baomidou.mybatisplus.annotation.IdType;
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 lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * 延期接入企业-能源消费结构表
 */
@Data
@TableName("access_energys_tructure")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "延期接入企业-能源消费结构表")
public class AccessEnergysTructure extends Model<AccessEnergysTructure> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @JSONField(serializeUsing = ToStringSerializer.class)
    private Long id;

    /**
     * 企业编码
     */
    private String enterpriseCode;

    /**
     * 统计周期
     */
    private String recordDate;

    /**
     * 能源代码
     */
    private Integer energyCode;

    /**
     * 能源名称
     */
    private String energyCodeName;

    /**
     * 计量单位
     */
    private String unit;

    /**
     * 期初库存量
     */
    private Double startInventory;

    /**
     * 购进量-实物量
     */
    private Double object;

    /**
     * 购进量-金额（千元）
     */
    private Double money;

    /**
     * 消费量-合计
     */
    private Double consumeSum;

    /**
     * 消费量-工业生产消费
     */
    private Double consumeIndustry;

    /**
     * 消费量-用于原料材料
     */
    private Double consumeMaterial;

    /**
     * 消费量-非工业生产消费
     */
    private Double consumeNoindustry;

    /**
     * 消费量-合计中运输工具消费
     */
    private Double consumeTransport;

    /**
     * 期末库存量
     */
    private Double endInventory;

    /**
     * 采用折标系数
     */
    private Double modulus;

    /**
     * 参考折标系数
     */
    private String refModulus;

    /**
     * 用户id
     */
    private Integer userid;

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

    /**
     * 注销状态
     */
    private String delFlag;

    /**
     * 部门id
     */
    private Integer deptId;

    /**
     * 工业总产值（当年价）
     */
    private Double productionSum;

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