package com.ruoyi.asset.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * RFID标签对象 ams_rfid_tag
 * 
 * @author Yangk
 * @date 2026-06-05
 */
public class AmsRfidTag extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 标签ID */
    private Long tagId;

    /** 标签编码 */
    @Excel(name = "标签编码")
    private String tagCode;

    /** EPC编码 */
    @Excel(name = "EPC编码")
    private String epcCode;

    /** 标签状态 */
    @Excel(name = "标签状态", dictType = "ams_tag_status", comboReadDict = true)
    private String tagStatus;

    /** 绑定状态 */
    @Excel(name = "绑定状态", dictType = "ams_tag_bind_status", comboReadDict = true)
    private String bindStatus;

    /** 绑定资产ID */
    @Excel(name = "绑定资产ID", type = Excel.Type.EXPORT)
    private Long assetId;

    /** 绑定资产编码快照 */
    @Excel(name = "绑定资产编码")
    private String assetCode;

    /** 绑定资产名称快照 */
    @Excel(name = "绑定资产名称")
    private String assetName;

    /** 绑定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bindTime;

    /** 绑定人ID */
    @Excel(name = "绑定人ID", type = Excel.Type.EXPORT)
    private Long bindUserId;

    /** 绑定人名称快照 */
    @Excel(name = "绑定人")
    private String bindUserName;

    /** 删除标志：0存在，1删除 */
    private String delFlag;

    public void setTagId(Long tagId) 
    {
        this.tagId = tagId;
    }

    public Long getTagId() 
    {
        return tagId;
    }

    public void setTagCode(String tagCode) 
    {
        this.tagCode = tagCode;
    }

    public String getTagCode() 
    {
        return tagCode;
    }

    public void setEpcCode(String epcCode) 
    {
        this.epcCode = epcCode;
    }

    public String getEpcCode() 
    {
        return epcCode;
    }

    public void setTagStatus(String tagStatus) 
    {
        this.tagStatus = tagStatus;
    }

    public String getTagStatus() 
    {
        return tagStatus;
    }

    public void setBindStatus(String bindStatus) 
    {
        this.bindStatus = bindStatus;
    }

    public String getBindStatus() 
    {
        return bindStatus;
    }

    public void setAssetId(Long assetId) 
    {
        this.assetId = assetId;
    }

    public Long getAssetId() 
    {
        return assetId;
    }

    public void setAssetCode(String assetCode) 
    {
        this.assetCode = assetCode;
    }

    public String getAssetCode() 
    {
        return assetCode;
    }

    public void setAssetName(String assetName) 
    {
        this.assetName = assetName;
    }

    public String getAssetName() 
    {
        return assetName;
    }

    public void setBindTime(Date bindTime) 
    {
        this.bindTime = bindTime;
    }

    public Date getBindTime() 
    {
        return bindTime;
    }

    public void setBindUserId(Long bindUserId) 
    {
        this.bindUserId = bindUserId;
    }

    public Long getBindUserId() 
    {
        return bindUserId;
    }

    public void setBindUserName(String bindUserName) 
    {
        this.bindUserName = bindUserName;
    }

    public String getBindUserName() 
    {
        return bindUserName;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("tagId", getTagId())
            .append("tagCode", getTagCode())
            .append("epcCode", getEpcCode())
            .append("tagStatus", getTagStatus())
            .append("bindStatus", getBindStatus())
            .append("assetId", getAssetId())
            .append("assetCode", getAssetCode())
            .append("assetName", getAssetName())
            .append("bindTime", getBindTime())
            .append("bindUserId", getBindUserId())
            .append("bindUserName", getBindUserName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
