package com.op.wms.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;

/**
 * 库区对象 base_area
 * 
 * @author Open Platform
 * @date 2023-07-04
 */
public class BaseArea extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/** id */
	private String areaId;

	/** 库区编码 */
	@Excel(name = "库区编码")
	private String areaCode;

	/** 库区描述 */
	@Excel(name = "库区描述")
	private String areaDesc;

	/** 区域编码 */
	@Excel(name = "区域编码")
	private String regionCode;

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

	/** 入库过渡库位 */
	@Excel(name = "入库过渡库位")
	private String instockTranLoc;

	/** 出库过渡库位 */
	@Excel(name = "出库过渡库位")
	private String outstockTranLoc;

	/** 拣货过渡库位 */
	@Excel(name = "拣货过渡库位")
	private String pickTranLoc;

	/** 默认异常储位 */
	@Excel(name = "默认异常储位")
	private String exSignLocNo;

	/** 默认隔离储位 */
	@Excel(name = "默认隔离储位")
	private String frozenLocNo;

	/** 需要问 */
	@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
	private String sapSendSpot;

	/** 库区基点 */
	@Excel(name = "库区基点")
	private String areaPoint;

	/** 不可用#是否使用托盘1是0否 */
	@Excel(name = "不可用#是否使用托盘1是0否")
	private String useTray;

	/** 不可用#是否托盘混载1是0否 */
	@Excel(name = "不可用#是否托盘混载1是0否")
	private String trayMix;

	/** 入库策略（收货上架一步／两步） */
	@Excel(name = "入库策略", readConverterExp = "收=货上架一步／两步")
	private String instorageStrategy;

	/** 出库策略（拣货复核一步/两步） */
	@Excel(name = "出库策略", readConverterExp = "拣=货复核一步/两步")
	private String outstorageStrategy;

	/** 是否强制出库（1是，0否） */
	@Excel(name = "是否强制出库", readConverterExp = "1=是，0否")
	private String forceOutstorage;

	/** 不可用#是否判断库位允许拣货（1是，0否） */
	@Excel(name = "不可用#是否判断库位允许拣货", readConverterExp = "1=是，0否")
	private String locPickFlag;

	/** 手持提单时的默认分配规则 */
	@Excel(name = "手持提单时的默认分配规则")
	private String allocationRule;

	/** 默认集货位推荐类型 */
	@Excel(name = "默认集货位推荐类型")
	private String gatherLocType;

	/** 优先级 */
	@Excel(name = "优先级")
	private String priority;

	/** 库区标志：0-普通库区 */
	@Excel(name = "库区标志：0-普通库区 1-立体库内机库区 2-立体库外机库区")
	private String userDefined1;

	/** $column.columnComment */
	@Excel(name = "未定义2")
	private String userDefined2;

	/** $column.columnComment */
	@Excel(name = "未定义3")
	private String userDefined3;

	/** 有效标志 */
	@Excel(name = "有效标志")
	private String activeFlag;

	/** $column.columnComment */
	@Excel(name = "工厂编码")
	private String factoryCode;

	public void setAreaId(String areaId) {
		this.areaId = areaId;
	}

	public String getAreaId() {
		return areaId;
	}
	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	public String getAreaCode() {
		return areaCode;
	}
	public void setAreaDesc(String areaDesc) {
		this.areaDesc = areaDesc;
	}

	public String getAreaDesc() {
		return areaDesc;
	}
	public void setRegionCode(String regionCode) {
		this.regionCode = regionCode;
	}

	public String getRegionCode() {
		return regionCode;
	}
	public void setWhCode(String whCode) {
		this.whCode = whCode;
	}

	public String getWhCode() {
		return whCode;
	}
	public void setInstockTranLoc(String instockTranLoc) {
		this.instockTranLoc = instockTranLoc;
	}

	public String getInstockTranLoc() {
		return instockTranLoc;
	}
	public void setOutstockTranLoc(String outstockTranLoc) {
		this.outstockTranLoc = outstockTranLoc;
	}

	public String getOutstockTranLoc() {
		return outstockTranLoc;
	}
	public void setPickTranLoc(String pickTranLoc) {
		this.pickTranLoc = pickTranLoc;
	}

	public String getPickTranLoc() {
		return pickTranLoc;
	}
	public void setExSignLocNo(String exSignLocNo) {
		this.exSignLocNo = exSignLocNo;
	}

	public String getExSignLocNo() {
		return exSignLocNo;
	}
	public void setFrozenLocNo(String frozenLocNo) {
		this.frozenLocNo = frozenLocNo;
	}

	public String getFrozenLocNo() {
		return frozenLocNo;
	}
	public void setSapSendSpot(String sapSendSpot) {
		this.sapSendSpot = sapSendSpot;
	}

	public String getSapSendSpot() {
		return sapSendSpot;
	}
	public void setAreaPoint(String areaPoint) {
		this.areaPoint = areaPoint;
	}

	public String getAreaPoint() {
		return areaPoint;
	}
	public void setUseTray(String useTray) {
		this.useTray = useTray;
	}

	public String getUseTray() {
		return useTray;
	}
	public void setTrayMix(String trayMix) {
		this.trayMix = trayMix;
	}

	public String getTrayMix() {
		return trayMix;
	}
	public void setInstorageStrategy(String instorageStrategy) {
		this.instorageStrategy = instorageStrategy;
	}

	public String getInstorageStrategy() {
		return instorageStrategy;
	}
	public void setOutstorageStrategy(String outstorageStrategy) {
		this.outstorageStrategy = outstorageStrategy;
	}

	public String getOutstorageStrategy() {
		return outstorageStrategy;
	}
	public void setForceOutstorage(String forceOutstorage) {
		this.forceOutstorage = forceOutstorage;
	}

	public String getForceOutstorage() {
		return forceOutstorage;
	}
	public void setLocPickFlag(String locPickFlag) {
		this.locPickFlag = locPickFlag;
	}

	public String getLocPickFlag() {
		return locPickFlag;
	}
	public void setAllocationRule(String allocationRule) {
		this.allocationRule = allocationRule;
	}

	public String getAllocationRule() {
		return allocationRule;
	}
	public void setGatherLocType(String gatherLocType) {
		this.gatherLocType = gatherLocType;
	}

	public String getGatherLocType() {
		return gatherLocType;
	}
	public void setPriority(String priority) {
		this.priority = priority;
	}

	public String getPriority() {
		return priority;
	}
	public void setUserDefined1(String userDefined1) {
		this.userDefined1 = userDefined1;
	}

	public String getUserDefined1() {
		return userDefined1;
	}
	public void setUserDefined2(String userDefined2) {
		this.userDefined2 = userDefined2;
	}

	public String getUserDefined2() {
		return userDefined2;
	}
	public void setUserDefined3(String userDefined3) {
		this.userDefined3 = userDefined3;
	}

	public String getUserDefined3() {
		return userDefined3;
	}
	public void setActiveFlag(String activeFlag) {
		this.activeFlag = activeFlag;
	}

	public String getActiveFlag() {
		return activeFlag;
	}
	public void setFactoryCode(String factoryCode) {
		this.factoryCode = factoryCode;
	}

	public String getFactoryCode() {
		return factoryCode;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
			.append("areaId", getAreaId())
			.append("areaCode", getAreaCode())
			.append("areaDesc", getAreaDesc())
			.append("regionCode", getRegionCode())
			.append("whCode", getWhCode())
			.append("instockTranLoc", getInstockTranLoc())
			.append("outstockTranLoc", getOutstockTranLoc())
			.append("pickTranLoc", getPickTranLoc())
			.append("exSignLocNo", getExSignLocNo())
			.append("frozenLocNo", getFrozenLocNo())
			.append("sapSendSpot", getSapSendSpot())
			.append("areaPoint", getAreaPoint())
			.append("useTray", getUseTray())
			.append("trayMix", getTrayMix())
			.append("instorageStrategy", getInstorageStrategy())
			.append("outstorageStrategy", getOutstorageStrategy())
			.append("forceOutstorage", getForceOutstorage())
			.append("locPickFlag", getLocPickFlag())
			.append("allocationRule", getAllocationRule())
			.append("gatherLocType", getGatherLocType())
			.append("priority", getPriority())
			.append("userDefined1", getUserDefined1())
			.append("userDefined2", getUserDefined2())
			.append("userDefined3", getUserDefined3())
			.append("createBy", getCreateBy())
			.append("createTime", getCreateTime())
			.append("updateBy", getUpdateBy())
			.append("updateTime", getUpdateTime())
			.append("activeFlag", getActiveFlag())
			.append("remark", getRemark())
			.append("factoryCode", getFactoryCode())
			.toString();
	}
}
