package com.huaheng.pc.config.shipmentPreference.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

@ApiModel(value="com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference")
@TableName(value = "shipment_preference")
public class ShipmentPreference implements Serializable {
    /**
     * ID
     */
     @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="ID")
    private Integer id;

    /**
     * 仓库
     */
    @TableField(value = "warehouseCode")
    @ApiModelProperty(value="仓库")
    private String warehouseCode;

    /**
     * 首选项代码
     */
    @TableField(value = "code")
    @ApiModelProperty(value="首选项代码")
    private String code;

    /**
     * 名称
     */
    @TableField(value = "name")
    @ApiModelProperty(value="名称")
    private String name;

    /**
     * 出库流程
     */
    @TableField(value = "shippingFlow")
    @ApiModelProperty(value="出库流程")
    private String shippingFlow;

    /**
     * 拣货库位范围规则
     */
    @TableField(value = "shipmentPickingLocRange")
    @ApiModelProperty(value="拣货库位范围规则")
    private String shipmentPickingLocRange;

    /**
     * 拣货规则
     */
    @TableField(value = "shipmentPickingRule")
    @ApiModelProperty(value="拣货规则")
    private String shipmentPickingRule;

    /**
     * 库存分配规则
     */
    @TableField(value = "allocationRule")
    @ApiModelProperty(value="库存分配规则")
    private String allocationRule;

    /**
     * 自动生成托盘号
     */
    @TableField(value = "autoAssignLPN")
    @ApiModelProperty(value="自动生成托盘号")
    private Boolean autoAssignLPN;

    /**
     * 允许越库
     */
    @TableField(value = "allowCross")
    @ApiModelProperty(value="允许越库")
    private Boolean allowCross;

    /**
     * 允许未质检的出库
     */
    @TableField(value = "allowQcCheckResult")
    @ApiModelProperty(value="允许未质检的出库")
    private Boolean allowQcCheckResult;

    /**
     * 显示库存数量
     */
    @TableField(value = "showInventoryQty")
    @ApiModelProperty(value="显示库存数量")
    private Boolean showInventoryQty;



    /**
     * RF组车收货
     */
    @TableField(value = "groupPickup")
    @ApiModelProperty(value="RF组车收货")
    private Boolean groupPickup;

    /**
     * 人工组盘
     */
    @TableField(value = "manuallyBuildLPN")
    @ApiModelProperty(value="人工组盘")
    private Boolean manuallyBuildLPN;

    /**
     * RF逐件拣货
     */
    @TableField(value = "checkinByPiece")
    @ApiModelProperty(value="RF逐件拣货")
    private Boolean checkinByPiece;

    /**
     * RF快速拣货
     */
    @TableField(value = "allowQuickPickup")
    @ApiModelProperty(value="RF快速拣货")
    private Boolean allowQuickPickup;

    /**
     * 创建时间
     */
    @TableField(value = "created")
    @ApiModelProperty(value="创建时间")
    private Date created;

    /**
     * 创建用户
     */
    @TableField(value = "createdBy")
    @ApiModelProperty(value="创建用户")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField(value = "lastUpdated")
    @ApiModelProperty(value="创建时间")
    private Date lastUpdated;

    /**
     * 更新用户
     */
    @TableField(value = "lastUpdatedBy")
    @ApiModelProperty(value="更新用户")
    private String lastUpdatedBy;

    /**
     * 数据版本
     */
    @TableField(value = "version")
    @ApiModelProperty(value="数据版本")
    private Integer version;

    /**
     * 自定义字段1
     */
    @TableField(value = "userDef1")
    @ApiModelProperty(value="自定义字段1")
    private String userDef1;

    /**
     * 自定义字段2
     */
    @TableField(value = "userDef2")
    @ApiModelProperty(value="自定义字段2")
    private String userDef2;

    /**
     * 自定义字段3
     */
    @TableField(value = "userDef3")
    @ApiModelProperty(value="自定义字段3")
    private String userDef3;

    /**
     * 自定义字段4
     */
    @TableField(value = "userDef4")
    @ApiModelProperty(value="自定义字段4")
    private String userDef4;


    /**
     * 处理标记
     */
    @TableField(value = "processStamp")
    @ApiModelProperty(value="处理标记")
    private String processStamp;

    private static final long serialVersionUID = 1L;

    public static final String COL_WAREHOUSECODE = "warehouseCode";

    public static final String COL_CODE = "code";

    public static final String COL_NAME = "name";

    public static final String COL_SHIPPINGFLOW = "shippingFlow";

    public static final String COL_SHIPMENTPICKINGRULE = "shipmentPickingRule";

    public static final String COL_SHIPMENTPICKINGLOCRANGE= "shipmentPickingLocRange";

    public static final String COL_ALLOCATIONRULE= "allocationRule";

    public static final String COL_AUTOASSIGNLPN = "autoAssignLPN";

    public static final String COL_ALLOWCROSS = "allowCross";

    public static final String COL_ALLOWQCCHECKRESULT = "allowQcCheckResult";

    public static final String COL_SHOWINVENTORYQTY = "showInventoryQty";

    public static final String COL_GROUPPICKUP = "groupPickup";

    public static final String COL_MANUALLYBUILDLPN = "manuallyBuildLPN";

    public static final String COL_CHECKINBYPIECE = "checkinByPiece";

    public static final String COL_ALLOWQUICKPICKUP = "allowQuickPickup";

    public static final String COL_CREATED = "created";

    public static final String COL_CREATEDBY = "createdBy";

    public static final String COL_LASTUPDATED = "lastUpdated";

    public static final String COL_LASTUPDATEDBY = "lastUpdatedBy";

    public static final String COL_VERSION = "version";

    public static final String COL_USERDEF1 = "userDef1";

    public static final String COL_USERDEF2 = "userDef2";

    public static final String COL_USERDEF3 = "userDef3";

    public static final String COL_USERDEF4 = "userDef4";

    public static final String COL_PROCESSSTAMP = "processStamp";

    /**
     * 获取ID
     *
     * @return id - ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置ID
     *
     * @param id ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取仓库
     *
     * @return warehouseCode - 仓库
     */
    public String getWarehouseCode() {
        return warehouseCode;
    }

    /**
     * 设置仓库
     *
     * @param warehouseCode 仓库
     */
    public void setWarehouseCode(String warehouseCode) {
        this.warehouseCode = warehouseCode;
    }

    /**
     * 获取首选项代码
     *
     * @return code - 首选项代码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置首选项代码
     *
     * @param code 首选项代码
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取名称
     *
     * @return name - 名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置名称
     *
     * @param name 名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取出库流程
     *
     * @return shippingFlow - 出库流程
     */
    public String getShippingFlow() {
        return shippingFlow;
    }

    /**
     * 设置出库流程
     *
     * @param shippingFlow 出库流程
     */
    public void setShippingFlow(String shippingFlow) {
        this.shippingFlow = shippingFlow;
    }

    public String getShipmentPickingLocRange() {
        return shipmentPickingLocRange;
    }

    public void setShipmentPickingLocRange(String shipmentPickingLocRange) {
        this.shipmentPickingLocRange = shipmentPickingLocRange;
    }

    public String getShipmentPickingRule() {
        return shipmentPickingRule;
    }

    public void setShipmentPickingRule(String shipmentPickingRule) {
        this.shipmentPickingRule = shipmentPickingRule;
    }

    public String getAllocationRule() {
        return allocationRule;
    }

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


    public Boolean getAllowCross() {
        return allowCross;
    }

    public void setAllowCross(Boolean allowCross) {
        this.allowCross = allowCross;
    }

    public Boolean getAllowQcCheckResult() {
        return allowQcCheckResult;
    }

    public void setAllowQcCheckResult(Boolean allowQcCheckResult) {
        this.allowQcCheckResult = allowQcCheckResult;
    }

    public Boolean getAutoAssignLPN() {
        return autoAssignLPN;
    }

    public void setAutoAssignLPN(Boolean autoAssignLPN) {
        this.autoAssignLPN = autoAssignLPN;
    }

    public Boolean getShowInventoryQty() {
        return showInventoryQty;
    }

    public void setShowInventoryQty(Boolean showInventoryQty) {
        this.showInventoryQty = showInventoryQty;
    }

    public Boolean getGroupPickup() {
        return groupPickup;
    }

    public void setGroupPickup(Boolean groupPickup) {
        this.groupPickup = groupPickup;
    }

    public Boolean getManuallyBuildLPN() {
        return manuallyBuildLPN;
    }

    public void setManuallyBuildLPN(Boolean manuallyBuildLPN) {
        this.manuallyBuildLPN = manuallyBuildLPN;
    }

    public Boolean getCheckinByPiece() {
        return checkinByPiece;
    }

    public void setCheckinByPiece(Boolean checkinByPiece) {
        this.checkinByPiece = checkinByPiece;
    }

    public Boolean getAllowQuickPickup() {
        return allowQuickPickup;
    }

    public void setAllowQuickPickup(Boolean allowQuickPickup) {
        this.allowQuickPickup = allowQuickPickup;
    }

    /**
     * 获取创建时间
     *
     * @return created - 创建时间
     */
    public Date getCreated() {
        return created;
    }

    /**
     * 设置创建时间
     *
     * @param created 创建时间
     */
    public void setCreated(Date created) {
        this.created = created;
    }

    /**
     * 获取创建用户
     *
     * @return createdBy - 创建用户
     */
    public String getCreatedBy() {
        return createdBy;
    }

    /**
     * 设置创建用户
     *
     * @param createdBy 创建用户
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * 获取创建时间
     *
     * @return lastUpdated - 创建时间
     */
    public Date getLastUpdated() {
        return lastUpdated;
    }

    /**
     * 设置创建时间
     *
     * @param lastUpdated 创建时间
     */
    public void setLastUpdated(Date lastUpdated) {
        this.lastUpdated = lastUpdated;
    }

    /**
     * 获取更新用户
     *
     * @return lastUpdatedBy - 更新用户
     */
    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    /**
     * 设置更新用户
     *
     * @param lastUpdatedBy 更新用户
     */
    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    /**
     * 获取数据版本
     *
     * @return version - 数据版本
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 设置数据版本
     *
     * @param version 数据版本
     */
    public void setVersion(Integer version) {
        this.version = version;
    }

    /**
     * 获取自定义字段1
     *
     * @return userDef1 - 自定义字段1
     */
    public String getUserDef1() {
        return userDef1;
    }

    /**
     * 设置自定义字段1
     *
     * @param userDef1 自定义字段1
     */
    public void setUserDef1(String userDef1) {
        this.userDef1 = userDef1;
    }

    /**
     * 获取自定义字段2
     *
     * @return userDef2 - 自定义字段2
     */
    public String getUserDef2() {
        return userDef2;
    }

    /**
     * 设置自定义字段2
     *
     * @param userDef2 自定义字段2
     */
    public void setUserDef2(String userDef2) {
        this.userDef2 = userDef2;
    }

    /**
     * 获取自定义字段3
     *
     * @return userDef3 - 自定义字段3
     */
    public String getUserDef3() {
        return userDef3;
    }

    /**
     * 设置自定义字段3
     *
     * @param userDef3 自定义字段3
     */
    public void setUserDef3(String userDef3) {
        this.userDef3 = userDef3;
    }

    /**
     * 获取自定义字段4
     *
     * @return userDef4 - 自定义字段4
     */
    public String getUserDef4() {
        return userDef4;
    }

    /**
     * 设置自定义字段4
     *
     * @param userDef4 自定义字段4
     */
    public void setUserDef4(String userDef4) {
        this.userDef4 = userDef4;
    }


    /**
     * 获取处理标记
     *
     * @return processStamp - 处理标记
     */
    public String getProcessStamp() {
        return processStamp;
    }

    /**
     * 设置处理标记
     *
     * @param processStamp 处理标记
     */
    public void setProcessStamp(String processStamp) {
        this.processStamp = processStamp;
    }
}