package com.willalp.erms.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.willalp.common.annotation.Excel;
import com.willalp.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 物资库对象 hs_goods_storage
 *
 * @author willalp
 * @date 2023-03-08
 */

@TableName("hs_goods_storage")
public class HsGoodsStorage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId
    private String id;

    /** 库记录类型 */
    private String recordType;

    /** 类型 */
    @Excel(name = "类型")
    private String typeRoot;

    /** 分类 */
    @Excel(name = "分类")
    private String typeBranch;

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

    /** 编号 */
    @Excel(name = "编号")
    private String number;

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

    /** 库存数量 */
    @Excel(name = "库存数量")
    private Long quantityInStock;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 平均单价 */
    @Excel(name = "平均单价")
    private BigDecimal averageUnitPrice;

    /** 使用状态 */
    @Excel(name = "使用状态")
    private String useStatus;

    /** 是否删除（0.未删除；1.已删除） */
    @TableLogic
    private Integer isDelete;

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

    public String getId()
    {
        return id;
    }
    public void setRecordType(String recordType)
    {
        this.recordType = recordType;
    }

    public String getRecordType()
    {
        return recordType;
    }
    public void setTypeRoot(String typeRoot)
    {
        this.typeRoot = typeRoot;
    }

    public String getTypeRoot()
    {
        return typeRoot;
    }
    public void setTypeBranch(String typeBranch)
    {
        this.typeBranch = typeBranch;
    }

    public String getTypeBranch()
    {
        return typeBranch;
    }
    public void setNumber(String number)
    {
        this.number = number;
    }

    public String getNumber()
    {
        return number;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setProductModel(String productModel)
    {
        this.productModel = productModel;
    }

    public String getProductModel()
    {
        return productModel;
    }
    public void setQuantityInStock(Long quantityInStock)
    {
        this.quantityInStock = quantityInStock;
    }

    public Long getQuantityInStock()
    {
        return quantityInStock;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setAverageUnitPrice(BigDecimal averageUnitPrice)
    {
        this.averageUnitPrice = averageUnitPrice;
    }

    public BigDecimal getAverageUnitPrice()
    {
        return averageUnitPrice;
    }
    public void setUseStatus(String useStatus)
    {
        this.useStatus = useStatus;
    }

    public String getUseStatus()
    {
        return useStatus;
    }
    public void setIsDelete(Integer isDelete)
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete()
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("recordType", getRecordType())
            .append("typeRoot", getTypeRoot())
            .append("typeBranch", getTypeBranch())
            .append("number", getNumber())
            .append("name", getName())
            .append("productModel", getProductModel())
            .append("quantityInStock", getQuantityInStock())
            .append("unit", getUnit())
            .append("averageUnitPrice", getAverageUnitPrice())
            .append("useStatus", getUseStatus())
            .append("isDelete", getIsDelete())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
