package com.ktg.iscs.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.model.BaseBean;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 硬件对象 is_hardware
 *
 * @author cgj
 * @date 2024-10-16
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class IsHardware extends BaseBean {
    private static final long serialVersionUID = 1L;

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

    /**
     * 硬件类型编码
     */
    @ApiModelProperty(value = "硬件编码")
    @Excel(name = "硬件编码")
    private String hardwareCode;

    /**
     * 硬件类型名称
     */
    @ApiModelProperty(value = "硬件名称")
    @Excel(name = "硬件名称")
    private String hardwareName;

    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌")
    @Excel(name = "品牌")
    private String hardwareBrand;

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

    /**
     * 硬件类型ID
     */
    @ApiModelProperty(value = "硬件类型ID")
    @Excel(name = "硬件类型ID")
    private Long hardwareTypeId;

    /**
     * 硬件类型编码
     */
    @ApiModelProperty(value = "硬件类型编码")
    @Excel(name = "硬件类型编码")
    private String hardwareTypeCode;

    /**
     * 硬件类型名称
     */
    @ApiModelProperty(value = "硬件类型名称")
    @Excel(name = "硬件类型名称")
    private String hardwareTypeName;

    /**
     * 所属车间ID
     */
    @ApiModelProperty(value = "所属车间ID")
    @Excel(name = "所属车间ID")
    private Long workshopId;

    /**
     * 所属车间编码
     */
    @ApiModelProperty(value = "所属车间编码")
    @Excel(name = "所属车间编码")
    private String workshopCode;

    /**
     * 所属车间名称
     */
    @ApiModelProperty(value = "所属车间名称")
    @Excel(name = "所属车间名称")
    private String workshopName;

    /**
     * 硬件状态
     */
    @ApiModelProperty(value = "硬件状态")
    @Excel(name = "硬件状态")
    private String status;

    /**
     * 启用时间
     */
    @ApiModelProperty(value = "启用时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activationTime;

    /**
     * 可用次数
     */
    @ApiModelProperty(value = "可用次数")
    @Excel(name = "可用次数")
    private Integer availableTimes;

    /**
     * 已用次数
     */
    @ApiModelProperty(value = "已用次数")
    @Excel(name = "已用次数")
    private Integer usedTimes;

    /**
     * 可用寿命
     */
    @ApiModelProperty(value = "可用寿命")
    @Excel(name = "可用寿命")
    private Integer availableLife;

    /**
     * 已用寿命
     */
    @ApiModelProperty(value = "已用寿命")
    @Excel(name = "已用寿命")
    private Integer usedLife;

    @ApiModelProperty(value = "序列号(用于存储硬件的出场序号)")
    private String serialNumber;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;


}
