package com.hssx.pcbms.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 吴涛涛
 * @since 2019-11-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class GoodsNo extends Model<GoodsNo> {

    private static final long serialVersionUID=1L;

    /**
     * 产品编号表主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 模具编号(对于机柜和机柜设备无用)
     */
    @TableField("model_no")
    private String modelNo;

    /**
     * 用于比较的部门代码
     */
    @TableField("division_code")
    private String divisionCode;

    /**
     * 用于比较的前缀代码
     */
    @TableField("suffix_code")
    private String suffixCode;

    /**
     * 资产状态0-空闲 1-在用 3-报废
     */
    @TableField("state")
    private Integer state;

    /**
     * 创建日期
     */
    @TableField("indate")
    private LocalDateTime indate;

    /**
     * 基本信息表关联外键
     */
    @TableField("goods_id")
    private Integer goodsId;

    /**
     * 用户表关联外键
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 最后更新日期
     */
    @TableField("update_indate")
    private LocalDateTime updateIndate;

    /**
     * 维护:0-不需要，1-需要维护
     */
    @TableField("is_maintain")
    private Integer isMaintain;

    /**
     * 资产sn号
     */
    @TableField("good_sn_no")
    private String goodSnNo;

    /**
     * 标签ID
     */
    @TableField("label_id")
    private String labelId;

    /**
     * 模块ID
     */
    @TableField("model_id")
    private String modelId;

    /**
     * u位号
     */
    @TableField("u_bit_num")
    private String uBitNum;

    /**
     * 功率(W)
     */
    @TableField("power")
    private Double power;

    /**
     * 额定电流(A)
     */
    @TableField("rated_current")
    private Double ratedCurrent;

    /**
     * 额定电压(V)
     */
    @TableField("rated_voltage")
    private Double ratedVoltage;

    /**
     * 序列号
     */
    @TableField("serial_number")
    private String serialNumber;

    /**
     * 所属机构
     */
    @TableField("affiliate")
    private String affiliate;

    /**
     * 类别
     */
    @TableField("device_category")
    private String deviceCategory;

    /**
     * 库存编码
     */
    @TableField("stock")
    private String stock;

    /**
     * 服务器重量(kg)
     */
    @TableField("server_weight")
    private Double serverWeight;

    /**
     * 制造商
     */
    @TableField("manufacturer")
    private String manufacturer;

    /**
     * 供应商
     */
    @TableField("supplier")
    private String supplier;

    /**
     * 负责人id
     */
    @TableField("charger_id")
    private Integer chargerId;

    /**
     * 负责人名字
     */
    @TableField("charger_name")
    private String chargerName;

    /**
     * 维护周期
     */
    @TableField("maintain_clc")
    private Integer maintainClc;

    /**
     * 维保联系方式
     */
    @TableField("maintenance_phone")
    private String maintenancePhone;

    /**
     * 上次维护人id
     */
    @TableField("last_maintainer_id")
    private Integer lastMaintainerId;

    /**
     * 上次维护人名字
     */
    @TableField("last_maintainer_name")
    private String lastMaintainerName;

    /**
     * 下次维护人id
     */
    @TableField("next_maintainer_id")
    private Integer nextMaintainerId;

    /**
     * 下次维护人名称
     */
    @TableField("next_maintainer_name")
    private String nextMaintainerName;

    /**
     * 上次更新时间
     */
    @TableField("last_update_time")
    private LocalDateTime lastUpdateTime;

    /**
     * 下次更新时间
     */
    @TableField("next_update_time")
    private LocalDateTime nextUpdateTime;

    /**
     * 上架时间
     */
    @TableField("grounding_time")
    private LocalDateTime groundingTime;

    /**
     * 下架时间
     */
    @TableField("undercarriage_time")
    private LocalDateTime undercarriageTime;

    /**
     * 首次使用时间
     */
    @TableField("first_use_time")
    private LocalDateTime firstUseTime;

    /**
     * 当前状态
     */
    @TableField("current_state")
    private Integer currentState;

    /**
     * 告警级别
     */
    @TableField("alarm_level")
    private Integer alarmLevel;

    /**
     * 所属人id
     */
    @TableField("subordinate_user_id")
    private Integer subordinateUserId;

    /**
     * 所属人姓名
     */
    @TableField("subordinate_user")
    private String subordinateUser;

    /**
     * 所在楼层
     */
    @TableField("floor")
    private String floor;

    /**
     * 所在房间
     */
    @TableField("room")
    private String room;

    /**
     * 所在列
     */
    @TableField("column_place")
    private String columnPlace;

    /**
     * 所在区域
     */
    @TableField("region")
    private String region;

    /**
     * 是否已上架 0-未上架 1-已上架
     */
    @TableField("is_rack")
    private Integer isRack;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
