package com.hw.wms.domain;

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;

import java.util.List;

/**
 * 仓库对象 wms_base_warehouse
 *
 * @author xins
 * @date 2024-01-09
 */
public class WmsBaseWarehouse extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 仓库ID */
    private Long warehouseId;

    /** 存放类型(1原材料, 2半成品,3成品) */
    @Excel(name = "存放类型(1原材料, 2半成品,3成品)")
    private String warehouseInstockType;

    /** 仓库类型 0:普通仓库 1:背负agv仓库 2料箱agv仓库;背负agv仓库和料箱agv仓库审核标识为否 */
    @Excel(name = "仓库类型 1:普通仓库 2:背负agv仓库 3料箱agv仓库;背负agv仓库和料箱agv仓库审核标识为否")
    private String warehouseType;

    /** 仓库编码 */
    @Excel(name = "仓库编码")
    private String warehouseCode;

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

    /** 仓库类别(关联wms_base_category的category_id) */
    private Long warehouseCategoryId;

    /** 仓库类别名称 */
    @Excel(name = "仓库类别")
    private String warehouseCategoryName;

    /** 楼层 */
    @Excel(name = "楼层")
    private Long warehouseFloor;

    /** 管辖部门(关联sys_deptt的dept_id) */
    @Excel(name = "管辖部门(关联sys_deptt的dept_id)")
    private Long deptId;

    /** 多排库类型(1单排库,2双排库) */
    @Excel(name = "多排库类型(1单排库,2双排库)")
    private String multiRowType;

    /** 多边库类型(1单面库，2双面库);料箱agv是两面的，叉车agv在两面库的中间进行输送，尽量一次让叉车输送同一面的额任务 */
    @Excel(name = "多边库类型(1单面库，2双面库);料箱agv是两面的，叉车agv在两面库的中间进行输送，尽量一次让叉车输送同一面的额任务")
    private String multiSideType;

    /** 允许混放批次(1是,0否) */
    @Excel(name = "允许混放批次(1是,0否)")
    private String batchMix;

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

    /** 料箱标识(0否,1是) */
    @Excel(name = "料箱标识(0否,1是)")
    private String workbinFlag;

    /** 位置 */
    @Excel(name = "位置")
    private String warehouseLocation;

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

    /** 审核标识 （1是，0否） */
    @Excel(name = "审核标识 ", readConverterExp = "1=是，0否")
    private String auditFlag;

    /** 返库标识(1是，0否) */
    @Excel(name = "返库标识(1是，0否)")
    private String returnFlag;

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

    /** 工厂ID */
    @Excel(name = "工厂ID")
    private Long factoryId;

    /** 数据源 */
    @Excel(name = "数据源")
    private String dataSource;

    /** DB用户 */
    @Excel(name = "DB用户")
    private String schame;

    /** 是否按照线体入库  0否 1是 */
    @Excel(name = "是否按照线体入库  0否 1是")
    private String lineFlag;

    /** 库位信息 */
    private List<WmsBaseLocation> wmsBaseLocationList;

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

    public Long getWarehouseId()
    {
        return warehouseId;
    }
    public void setWarehouseInstockType(String warehouseInstockType)
    {
        this.warehouseInstockType = warehouseInstockType;
    }

    public String getWarehouseInstockType()
    {
        return warehouseInstockType;
    }
    public void setWarehouseType(String warehouseType)
    {
        this.warehouseType = warehouseType;
    }

    public String getWarehouseType()
    {
        return warehouseType;
    }
    public void setWarehouseCode(String warehouseCode)
    {
        this.warehouseCode = warehouseCode;
    }

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

    public String getWarehouseName()
    {
        return warehouseName;
    }
    public void setWarehouseCategoryId(Long warehouseCategoryId)
    {
        this.warehouseCategoryId = warehouseCategoryId;
    }

    public Long getWarehouseCategoryId()
    {
        return warehouseCategoryId;
    }

    public String getWarehouseCategoryName() {
        return warehouseCategoryName;
    }

    public void setWarehouseCategoryName(String warehouseCategoryName) {
        this.warehouseCategoryName = warehouseCategoryName;
    }

    public void setWarehouseFloor(Long warehouseFloor)
    {
        this.warehouseFloor = warehouseFloor;
    }

    public Long getWarehouseFloor()
    {
        return warehouseFloor;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setMultiRowType(String multiRowType)
    {
        this.multiRowType = multiRowType;
    }

    public String getMultiRowType()
    {
        return multiRowType;
    }
    public void setMultiSideType(String multiSideType)
    {
        this.multiSideType = multiSideType;
    }

    public String getMultiSideType()
    {
        return multiSideType;
    }
    public void setBatchMix(String batchMix)
    {
        this.batchMix = batchMix;
    }

    public String getBatchMix()
    {
        return batchMix;
    }
    public void setProductMix(String productMix)
    {
        this.productMix = productMix;
    }

    public String getProductMix()
    {
        return productMix;
    }
    public void setWorkbinFlag(String workbinFlag)
    {
        this.workbinFlag = workbinFlag;
    }

    public String getWorkbinFlag()
    {
        return workbinFlag;
    }
    public void setWarehouseLocation(String warehouseLocation)
    {
        this.warehouseLocation = warehouseLocation;
    }

    public String getWarehouseLocation()
    {
        return warehouseLocation;
    }
    public void setActiveFlag(String activeFlag)
    {
        this.activeFlag = activeFlag;
    }

    public String getActiveFlag()
    {
        return activeFlag;
    }
    public void setAuditFlag(String auditFlag)
    {
        this.auditFlag = auditFlag;
    }

    public String getAuditFlag()
    {
        return auditFlag;
    }
    public void setReturnFlag(String returnFlag)
    {
        this.returnFlag = returnFlag;
    }

    public String getReturnFlag()
    {
        return returnFlag;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setFactoryId(Long factoryId)
    {
        this.factoryId = factoryId;
    }

    public Long getFactoryId()
    {
        return factoryId;
    }
    public void setDataSource(String dataSource)
    {
        this.dataSource = dataSource;
    }

    public String getDataSource()
    {
        return dataSource;
    }
    public void setSchame(String schame)
    {
        this.schame = schame;
    }

    public String getSchame()
    {
        return schame;
    }
    public void setLineFlag(String lineFlag)
    {
        this.lineFlag = lineFlag;
    }

    public String getLineFlag()
    {
        return lineFlag;
    }

    public List<WmsBaseLocation> getWmsBaseLocationList() {
        return wmsBaseLocationList;
    }

    public void setWmsBaseLocationList(List<WmsBaseLocation> wmsBaseLocationList) {
        this.wmsBaseLocationList = wmsBaseLocationList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("warehouseId", getWarehouseId())
            .append("warehouseInstockType", getWarehouseInstockType())
            .append("warehouseType", getWarehouseType())
            .append("warehouseCode", getWarehouseCode())
            .append("warehouseName", getWarehouseName())
            .append("warehouseCategoryId", getWarehouseCategoryId())
            .append("warehouseFloor", getWarehouseFloor())
            .append("deptId", getDeptId())
            .append("multiRowType", getMultiRowType())
            .append("multiSideType", getMultiSideType())
            .append("batchMix", getBatchMix())
            .append("productMix", getProductMix())
            .append("workbinFlag", getWorkbinFlag())
            .append("warehouseLocation", getWarehouseLocation())
            .append("activeFlag", getActiveFlag())
            .append("auditFlag", getAuditFlag())
            .append("returnFlag", getReturnFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("factoryId", getFactoryId())
            .append("dataSource", getDataSource())
            .append("schame", getSchame())
            .append("lineFlag", getLineFlag())
            .toString();
    }
}
