package com.nantian.cloud.jly.entity;

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

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

/**
 * <p>
 * 能源计量器具
 * </p>
 *
 * @author scott
 * @since 2020-08-10
 */
@Data
@TableName("check_gauges")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "能源计量器具")
public class CheckGauges extends Model<CheckGauges> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "id")
    private BigInteger id;

    /**
     * 审查计划ID
     */
    @ApiModelProperty(value = "审查计划ID")
    private BigInteger checkPlanId;

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

    /**
     * 序号
     */
    @ApiModelProperty(value = "序号")
    private Integer num;

    /**
     * 计量器具名称
     */
    @ApiModelProperty(value = "计量器具名称")
    private String gaugeName;

    /**
     * 型号规格
     */
    @ApiModelProperty(value = "型号规格")
    private String gaugeType;

    /**
     * 准确度等级
     */
    @ApiModelProperty(value = "准确度等级")
    private String accuracyLevels;

    /**
     * 测量范围
     */
    @ApiModelProperty(value = "测量范围")
    private String testRegion;

    /**
     * 生产厂家
     */
    @ApiModelProperty(value = "生产厂家")
    private String productFactory;

    /**
     * 出厂编号
     */
    @ApiModelProperty(value = "出厂编号")
    private String numFactrory;

    /**
     * 能源名称
     */
    @ApiModelProperty(value = "能源名称")
    private String energyName;

    /**
     * 类型  1，能源计量器具，2，进出用能单位能源计量器具，3，进出主要次级用能单位能源计量器具，4，主要用能设备能源计量器具，5、其他能源计量器具
     */
    @ApiModelProperty(value = " 类型  1，能源计量器具，2，进出用能单位能源计量器具，" +
            "3，进出主要次级用能单位能源计量器具，4，主要用能设备能源计量器具，5、其他能源计量器具")
    private String tableType;

    /**
     * 计量器具类别
     */
    @ApiModelProperty(value = "计量器具类别")
    private String gaugeClass;

    /**
     * 能源种类
     */
    @ApiModelProperty(value = "能源种类")
    private String energyClass;

    /**
     * 管理编号
     */
    @ApiModelProperty(value = "管理编号")
    private String managerNum;

    /**
     * 安装使用地点(某车间、生产线、某主要用能设备)及用途(能源计量、自检自查、能量分析)
     */
    @ApiModelProperty(value = "安装使用地点(某车间、生产线、某主要用能设备)及用途(能源计量、自检自查、能量分析)")
    private String location;

    /**
     * 检定周期/校准间隔
     */
    @ApiModelProperty(value = "检定周期/校准间隔")
    private String checkTime;

    /**
     * 状态(合格/准用/停用)
     */
    @ApiModelProperty(value = "状态(1：正常，2：故障，3：停用)")
    private String gaugeStatus;

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