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 com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

    private static final long serialVersionUID=1L;

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

    /**
     * 名称
     */
    @TableField("name")
    private String name;

    /**
     * 分类标签id，录入机柜时默认传-1
     */
    @TableField("tag_id")
    private Integer tagId;

    /**
     * 型号
     */
    @TableField("model_number")
    private String modelNumber;

    /**
     * 量词
     */
    @TableField("unit")
    private String unit;

    /**
     * 地址
     */
    @TableField("address")
    private String address;

    /**
     * 生产厂家
     */
    @TableField("factory")
    private String factory;

    /**
     * 图片
     */
    @TableField("pic")
    private String pic;

    /**
     * 服务期限（天）
     */
    @TableField("service_life")
    private Integer serviceLife;

    /**
     * 下次维护日期
     */
    @TableField("next_indate")
    private String nextIndate;

    /**
     * 是否删除0-未删除，1-已删除
     */
    @TableField("is_delete")
    private Integer isDelete;

    /**
     * 录入人id
     */
    @TableField("creator_id")
    private Integer creatorId;

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

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

    /**
     * 资产类型 0-普通资产 1-机柜
     */
    @TableField("good_type")
    private Integer goodType;

    /**
     * 机柜id（只用于录入，没有与其他表关联）
     */
    @TableField("rack_id")
    private String rackId;

    /**
     * 机柜对应ip，如：192.168.0.190
     */
    @TableField("rack_ip")
    private String rackIp;

    /**
     * 机柜对应端口
     */
    @TableField("rack_port")
    private String rackPort;

    /**
     * 录入时间
     */
    @TableField("indate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime indate;


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

}
