package com.hw.wms.domain;

import java.util.List;
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
 *
 * @author xins
 * @date 2024-03-29
 */
public class WmsInventoryCheck extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 盘点ID */
    private Long inventoryCheckId;

    /** 盘点单号 */
    @Excel(name = "盘点单号")
    private String inventoryCheckCode;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 盘点状态(0待盘点（暂无此状态）,1盘点中,2盘点完成);在仓库下所有库位都盘点完成时是盘点完成，否则为盘点中 */
    @Excel(name = "盘点状态(0待盘点", readConverterExp = "暂=无此状态")
    private String checkStatus;

    /** 盘点开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "盘点开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginTime;

    /** 盘点结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "盘点结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 库位总数量 */
    @Excel(name = "库位总数量")
    private Long locationAmount;

    /** 正在盘点库位数量 */
    @Excel(name = "正在盘点库位数量")
    private Long inventoryingAmount;

    /** 已盘点库位数量 */
    @Excel(name = "已盘点库位数量")
    private Long inventoriedAmount;

    /** 创建时间 */
    @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;

    /** 盘点记录明细;盘点记录对应的明细信息信息 */
    private List<WmsInventoryCheckDetail> wmsInventoryCheckDetailList;

    private String warehouseName;

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

    public Long getInventoryCheckId()
    {
        return inventoryCheckId;
    }
    public void setInventoryCheckCode(String inventoryCheckCode)
    {
        this.inventoryCheckCode = inventoryCheckCode;
    }

    public String getInventoryCheckCode()
    {
        return inventoryCheckCode;
    }
    public void setWarehouseId(Long warehouseId)
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId()
    {
        return warehouseId;
    }
    public void setCheckStatus(String checkStatus)
    {
        this.checkStatus = checkStatus;
    }

    public String getCheckStatus()
    {
        return checkStatus;
    }
    public void setBeginTime(Date beginTime)
    {
        this.beginTime = beginTime;
    }

    public Date getBeginTime()
    {
        return beginTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }

    public Long getLocationAmount() {
        return locationAmount;
    }

    public void setLocationAmount(Long locationAmount) {
        this.locationAmount = locationAmount;
    }

    public Long getInventoryingAmount() {
        return inventoryingAmount;
    }

    public void setInventoryingAmount(Long inventoryingAmount) {
        this.inventoryingAmount = inventoryingAmount;
    }

    public Long getInventoriedAmount() {
        return inventoriedAmount;
    }

    public void setInventoriedAmount(Long inventoriedAmount) {
        this.inventoriedAmount = inventoriedAmount;
    }

    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;
    }

    public List<WmsInventoryCheckDetail> getWmsInventoryCheckDetailList()
    {
        return wmsInventoryCheckDetailList;
    }

    public void setWmsInventoryCheckDetailList(List<WmsInventoryCheckDetail> wmsInventoryCheckDetailList)
    {
        this.wmsInventoryCheckDetailList = wmsInventoryCheckDetailList;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("inventoryCheckId", getInventoryCheckId())
                .append("inventoryCheckCode", getInventoryCheckCode())
                .append("warehouseId", getWarehouseId())
                .append("checkStatus", getCheckStatus())
                .append("beginTime", getBeginTime())
                .append("endTime", getEndTime())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createDate", getCreateDate())
                .append("updateBy", getUpdateBy())
                .append("updateDate", getUpdateDate())
                .append("wmsInventoryCheckDetailList", getWmsInventoryCheckDetailList())
                .toString();
    }
}
