package com.zg.project.Inventory.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zg.framework.aspectj.lang.annotation.Excel;
import com.zg.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 盘点匹配数据记录表 InventoryMatchScan
 *
 * @author zg
 * @date 2025-06-24
 */
public class InventoryMatchScan extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @Excel(name = "主键ID")
    private Long id;

    /** 设备ID */
    @Excel(name = "设备ID")
    private String deviceId;

    /** 盘点任务ID */
    @Excel(name = "盘点任务ID")
    private String taskId;

    /** 扫描标签ID（货品码ID） */
    @Excel(name = "扫描标签ID")
    private String pcode;

    /** 系统入库时间 */
    @Excel(name = "系统入库时间")
    private String tme;

    /** 盘点类型（0=手动盘点，1=自动盘点） */
    @Excel(name = "盘点类型", readConverterExp = "0=手动盘点,1=自动盘点")
    private Integer scanType;

    /** 匹配状态（0=正常, 1=未扫到, 2=误扫） */
    @Excel(name = "匹配状态", readConverterExp = "0=正常,1=未扫到,2=误扫")
    private String status;

    /** 匹配到的真实货品码 */
    @Excel(name = "库位号")
    private String rkPcode;

    @Excel(name = "盘点任务名称")
    private String taskName;

    // ---------- Getter/Setter ----------

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getPcode() {
        return pcode;
    }

    public void setPcode(String pcode) {
        this.pcode = pcode;
    }

    public String getTme() {
        return tme;
    }

    public void setTme(String tme) {
        this.tme = tme;
    }

    public Integer getScanType() {
        return scanType;
    }

    public void setScanType(Integer scanType) {
        this.scanType = scanType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRkPcode() {
        return rkPcode;
    }

    public void setRkPcode(String rkPcode) {
        this.rkPcode = rkPcode;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deviceId", getDeviceId())
                .append("taskId", getTaskId())
                .append("pcode", getPcode())
                .append("tme", getTme())
                .append("scanType", getScanType())
                .append("status", getStatus())
                .append("rkPcode", getRkPcode())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
