package com.hw.wms.domain;

import java.math.BigDecimal;
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.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;

/**
 * 盘点记录明细对象 wms_inventory_check_detail
 * 
 * @author xs
 * @date 2023-12-20
 */
public class WmsInventoryCheckDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 盘点记录明细ID */
    private Long inventoryCheckDetailId;

    /** 盘点记录ID */
    @Excel(name = "盘点记录ID")
    private Long inventoryCheckId;

    /** 物料ID */
    @Excel(name = "物料ID")
    private Long materialId;

    /** 库位编码 */
    @Excel(name = "库位编码")
    private String locationCode;

    /** 库存数量 */
    @Excel(name = "库存数量")
    private BigDecimal stockAmount;

    /** 实际数量 */
    @Excel(name = "实际数量")
    private BigDecimal realAmount;

    /** 盘点状态(0待盘点,1盘点中,2盘点完成);在生成盘点任务记录明细时，选择需要盘点的状态是盘点中，没有选择的则是待盘点，而下次盘点同一个仓库需要判断是否有未最终完成的盘点记录 */
    @Excel(name = "盘点状态(0待盘点,1盘点中,2盘点完成);在生成盘点任务记录明细时，选择需要盘点的状态是盘点中，没有选择的则是待盘点，而下次盘点同一个仓库需要判断是否有未最终完成的盘点记录")
    private String checkStatus;

    /** 同步ERP状态，盘点实际数量与库存数量不同时需要同步(0:失败,1成功) */
    @Excel(name = "同步ERP状态，盘点实际数量与库存数量不同时需要同步(0:失败,1成功)")
    private String erpStatus;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    public void setInventoryCheckDetailId(Long inventoryCheckDetailId) 
    {
        this.inventoryCheckDetailId = inventoryCheckDetailId;
    }

    public Long getInventoryCheckDetailId() 
    {
        return inventoryCheckDetailId;
    }
    public void setInventoryCheckId(Long inventoryCheckId) 
    {
        this.inventoryCheckId = inventoryCheckId;
    }

    public Long getInventoryCheckId() 
    {
        return inventoryCheckId;
    }
    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }
    public void setLocationCode(String locationCode) 
    {
        this.locationCode = locationCode;
    }

    public String getLocationCode() 
    {
        return locationCode;
    }
    public void setStockAmount(BigDecimal stockAmount) 
    {
        this.stockAmount = stockAmount;
    }

    public BigDecimal getStockAmount() 
    {
        return stockAmount;
    }
    public void setRealAmount(BigDecimal realAmount) 
    {
        this.realAmount = realAmount;
    }

    public BigDecimal getRealAmount() 
    {
        return realAmount;
    }
    public void setCheckStatus(String checkStatus) 
    {
        this.checkStatus = checkStatus;
    }

    public String getCheckStatus() 
    {
        return checkStatus;
    }
    public void setErpStatus(String erpStatus) 
    {
        this.erpStatus = erpStatus;
    }

    public String getErpStatus() 
    {
        return erpStatus;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("inventoryCheckDetailId", getInventoryCheckDetailId())
            .append("inventoryCheckId", getInventoryCheckId())
            .append("materialId", getMaterialId())
            .append("locationCode", getLocationCode())
            .append("stockAmount", getStockAmount())
            .append("realAmount", getRealAmount())
            .append("checkStatus", getCheckStatus())
            .append("erpStatus", getErpStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createDate", getCreateDate())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .toString();
    }
}
