package com.hw.wms.domain;

import java.math.BigDecimal;
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_base_location
 *
 * @author xins
 * @date 2024-01-09
 */
public class WmsBaseLocation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库位ID */
    private Long locationId;

    /** 仓库ID，关联wms_base_warehouse的warehouse_id */
    private Long warehouseId;

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

    /** 排 */
    @Excel(name = "排")
    private Long locRow;

    /** 层数 */
    @Excel(name = "层数")
    private Long layerNum;

    /** 列 */
    @Excel(name = "列")
    private Long locColumn;

    /** 激活标记 1是 0否 */
    @Excel(name = "激活标记 1是 0否")
    private String activeFlag;

    /** 人工处理标识（1是,0否），对于agv仓库可选择 */
    @Excel(name = "人工处理标识", readConverterExp = "1=是,0否")
    private String manualFlag;

    /** 数量限制 */
    @Excel(name = "数量限制")
    private BigDecimal qtyLimit;

    /** 入库过度库位标识(1:是,0:否) */
    @Excel(name = "入库过度库位标识(1:是,0:否)")
    private String instockFlag;

    /** 出库过度库位标识(1:是,0:否) */
    @Excel(name = "出库过度库位标识(1:是,0:否)")
    private String outstockFlag;

    /** 库位状态(1:正常,2:自动锁定,3:人工锁定,4:移库锁定，5:合库锁定);在正常时，库位可以使用，如果是自动锁定则需要自动解锁变成正常，如果是人工锁定需要人工解锁变成正常 */
    @Excel(name = "库位状态(1:正常,2:自动锁定,3:人工锁定,4:移库锁定，5:合库锁定);在正常时，库位可以使用，如果是自动锁定则需要自动解锁变成正常，如果是人工锁定需要人工解锁变成正常")
    private String locationStatus;

    /** 允许混放批次 1是 0否(预留，先不显示此字段);先按仓库的判断 */
    @Excel(name = "允许混放批次 1是 0否(预留，先不显示此字段);先按仓库的判断")
    private String batchMix;

    /** 删除标志 1删除 0显示 */
    private String delFlag;

    /** 上架顺序 */
    @Excel(name = "上架顺序")
    private String shelfOrder;

    /** 盘点顺序 */
    @Excel(name = "盘点顺序")
    private String checkOrder;

    /** 拣货顺序 */
    @Excel(name = "拣货顺序")
    private String pickOrder;

    /** 是否允许拣货 */
    @Excel(name = "是否允许拣货")
    private String pickFlag;

    /** 是否开启库内交接 0：未开启 1：开启 */
    @Excel(name = "是否开启库内交接 0：未开启 1：开启")
    private String isOpenKnFlag;

    /** 是否报废库位 1:正常  0：报废 */
    @Excel(name = "是否报废库位 1:正常  0：报废")
    private String locationScrapType;

    /** 库位属性 */
    @Excel(name = "库位属性")
    private String locationAttr;

    /** 周转需求 */
    @Excel(name = "周转需求")
    private String turnDemand;

    /** 校验码 */
    @Excel(name = "校验码")
    private String checkCode;

    /** 工作区 */
    @Excel(name = "工作区")
    private String workArea;

    /** 体积限制 */
    @Excel(name = "体积限制")
    private BigDecimal volumeLimit;

    /** 重量限制 */
    @Excel(name = "重量限制")
    private BigDecimal weightLimit;

    /** 箱数限制 */
    @Excel(name = "箱数限制")
    private Long boxLimit;

    /** 托盘限制 */
    @Excel(name = "托盘限制")
    private Long palletLimit;

    /** 长度 */
    @Excel(name = "长度")
    private BigDecimal length;

    /** 宽度 */
    @Excel(name = "宽度")
    private BigDecimal width;

    /** 高度 */
    @Excel(name = "高度")
    private BigDecimal height;

    /** X像素 */
    @Excel(name = "X像素")
    private BigDecimal xPixels;

    /** Y像素 */
    @Excel(name = "Y像素")
    private BigDecimal yPixels;

    /** Z像素 */
    @Excel(name = "Z像素")
    private BigDecimal zPixels;

    /** 巷道 */
    @Excel(name = "巷道")
    private String bord;

    /** 允许混放产品 1是 0否;预留，允许混放不同的产品 */
    @Excel(name = "允许混放产品 1是 0否;预留，允许混放不同的产品")
    private String productMix;

    public void setLocationId(Long locationId)
    {
        this.locationId = locationId;
    }

    public Long getLocationId()
    {
        return locationId;
    }
    public void setWarehouseId(Long warehouseId)
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId()
    {
        return warehouseId;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

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

    public void setLocationCode(String locationCode)
    {
        this.locationCode = locationCode;
    }

    public String getLocationCode()
    {
        return locationCode;
    }
    public void setLocRow(Long locRow)
    {
        this.locRow = locRow;
    }

    public Long getLocRow()
    {
        return locRow;
    }
    public void setLayerNum(Long layerNum)
    {
        this.layerNum = layerNum;
    }

    public Long getLayerNum()
    {
        return layerNum;
    }
    public void setLocColumn(Long locColumn)
    {
        this.locColumn = locColumn;
    }

    public Long getLocColumn()
    {
        return locColumn;
    }
    public void setActiveFlag(String activeFlag)
    {
        this.activeFlag = activeFlag;
    }

    public String getActiveFlag()
    {
        return activeFlag;
    }
    public void setManualFlag(String manualFlag)
    {
        this.manualFlag = manualFlag;
    }

    public String getManualFlag()
    {
        return manualFlag;
    }
    public void setQtyLimit(BigDecimal qtyLimit)
    {
        this.qtyLimit = qtyLimit;
    }

    public BigDecimal getQtyLimit()
    {
        return qtyLimit;
    }
    public void setInstockFlag(String instockFlag)
    {
        this.instockFlag = instockFlag;
    }

    public String getInstockFlag()
    {
        return instockFlag;
    }
    public void setOutstockFlag(String outstockFlag)
    {
        this.outstockFlag = outstockFlag;
    }

    public String getOutstockFlag()
    {
        return outstockFlag;
    }
    public void setLocationStatus(String locationStatus)
    {
        this.locationStatus = locationStatus;
    }

    public String getLocationStatus()
    {
        return locationStatus;
    }
    public void setBatchMix(String batchMix)
    {
        this.batchMix = batchMix;
    }

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

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setShelfOrder(String shelfOrder)
    {
        this.shelfOrder = shelfOrder;
    }

    public String getShelfOrder()
    {
        return shelfOrder;
    }
    public void setCheckOrder(String checkOrder)
    {
        this.checkOrder = checkOrder;
    }

    public String getCheckOrder()
    {
        return checkOrder;
    }
    public void setPickOrder(String pickOrder)
    {
        this.pickOrder = pickOrder;
    }

    public String getPickOrder()
    {
        return pickOrder;
    }
    public void setPickFlag(String pickFlag)
    {
        this.pickFlag = pickFlag;
    }

    public String getPickFlag()
    {
        return pickFlag;
    }
    public void setIsOpenKnFlag(String isOpenKnFlag)
    {
        this.isOpenKnFlag = isOpenKnFlag;
    }

    public String getIsOpenKnFlag()
    {
        return isOpenKnFlag;
    }
    public void setLocationScrapType(String locationScrapType)
    {
        this.locationScrapType = locationScrapType;
    }

    public String getLocationScrapType()
    {
        return locationScrapType;
    }
    public void setLocationAttr(String locationAttr)
    {
        this.locationAttr = locationAttr;
    }

    public String getLocationAttr()
    {
        return locationAttr;
    }
    public void setTurnDemand(String turnDemand)
    {
        this.turnDemand = turnDemand;
    }

    public String getTurnDemand()
    {
        return turnDemand;
    }
    public void setCheckCode(String checkCode)
    {
        this.checkCode = checkCode;
    }

    public String getCheckCode()
    {
        return checkCode;
    }
    public void setWorkArea(String workArea)
    {
        this.workArea = workArea;
    }

    public String getWorkArea()
    {
        return workArea;
    }
    public void setVolumeLimit(BigDecimal volumeLimit)
    {
        this.volumeLimit = volumeLimit;
    }

    public BigDecimal getVolumeLimit()
    {
        return volumeLimit;
    }
    public void setWeightLimit(BigDecimal weightLimit)
    {
        this.weightLimit = weightLimit;
    }

    public BigDecimal getWeightLimit()
    {
        return weightLimit;
    }
    public void setBoxLimit(Long boxLimit)
    {
        this.boxLimit = boxLimit;
    }

    public Long getBoxLimit()
    {
        return boxLimit;
    }
    public void setPalletLimit(Long palletLimit)
    {
        this.palletLimit = palletLimit;
    }

    public Long getPalletLimit()
    {
        return palletLimit;
    }
    public void setLength(BigDecimal length)
    {
        this.length = length;
    }

    public BigDecimal getLength()
    {
        return length;
    }
    public void setWidth(BigDecimal width)
    {
        this.width = width;
    }

    public BigDecimal getWidth()
    {
        return width;
    }
    public void setHeight(BigDecimal height)
    {
        this.height = height;
    }

    public BigDecimal getHeight()
    {
        return height;
    }
    public void setxPixels(BigDecimal xPixels)
    {
        this.xPixels = xPixels;
    }

    public BigDecimal getxPixels()
    {
        return xPixels;
    }
    public void setyPixels(BigDecimal yPixels)
    {
        this.yPixels = yPixels;
    }

    public BigDecimal getyPixels()
    {
        return yPixels;
    }
    public void setzPixels(BigDecimal zPixels)
    {
        this.zPixels = zPixels;
    }

    public BigDecimal getzPixels()
    {
        return zPixels;
    }
    public void setBord(String bord)
    {
        this.bord = bord;
    }

    public String getBord()
    {
        return bord;
    }
    public void setProductMix(String productMix)
    {
        this.productMix = productMix;
    }

    public String getProductMix()
    {
        return productMix;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("locationId", getLocationId())
            .append("warehouseId", getWarehouseId())
            .append("locationCode", getLocationCode())
            .append("locRow", getLocRow())
            .append("layerNum", getLayerNum())
            .append("locColumn", getLocColumn())
            .append("activeFlag", getActiveFlag())
            .append("manualFlag", getManualFlag())
            .append("qtyLimit", getQtyLimit())
            .append("instockFlag", getInstockFlag())
            .append("outstockFlag", getOutstockFlag())
            .append("locationStatus", getLocationStatus())
            .append("batchMix", getBatchMix())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("shelfOrder", getShelfOrder())
            .append("checkOrder", getCheckOrder())
            .append("pickOrder", getPickOrder())
            .append("pickFlag", getPickFlag())
            .append("isOpenKnFlag", getIsOpenKnFlag())
            .append("locationScrapType", getLocationScrapType())
            .append("locationAttr", getLocationAttr())
            .append("turnDemand", getTurnDemand())
            .append("checkCode", getCheckCode())
            .append("workArea", getWorkArea())
            .append("volumeLimit", getVolumeLimit())
            .append("weightLimit", getWeightLimit())
            .append("boxLimit", getBoxLimit())
            .append("palletLimit", getPalletLimit())
            .append("length", getLength())
            .append("width", getWidth())
            .append("height", getHeight())
            .append("xPixels", getxPixels())
            .append("yPixels", getyPixels())
            .append("zPixels", getzPixels())
            .append("bord", getBord())
            .append("productMix", getProductMix())
            .toString();
    }
}
