package com.huaheng.pc.shipment.shipmentDetail.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.math.BigDecimal;
import java.util.Date;

@ApiModel(value="com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail")
@TableName(value = "shipment_detail")
public class ShipmentDetail implements Serializable {
    /**
     * 出库单内部行号
     */
     @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="出库单内部行号")
    private Integer id;

    /**
     * 出库单内部号
     */
    @TableField(value = "shipmentId")
    @ApiModelProperty(value="出库单内部号")
    private Integer shipmentId;

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

    /**
     * 货主
     */
    @TableField(value = "companyCode")
    @ApiModelProperty(value="货主")
    private String companyCode;


    @TableField(exist = false)
    private BigDecimal inventoryQty;

    /**
     * 出库单号
     */
    @TableField(value = "shipmentCode")
    @ApiModelProperty(value="出库单号")
    private String shipmentCode;

    /**
     * 上游订单号
     */
    @TableField(value = "referCode")
    @ApiModelProperty(value="上游订单号")
    private String referCode;

    /**
     * 上游订单内部号
     */
    @TableField(value = "referId")
    @ApiModelProperty(value="上游订单内部号")
    private Integer referId;

    /**
     * 上游订单行号
     */
    @TableField(value = "referLineNum")
    @ApiModelProperty(value="上游订单行号")
    private String referLineNum;

    /**
     * 物料
     */
    @TableField(value = "materialCode")
    @ApiModelProperty(value="物料")
    private String materialCode;

    /**
     * 物料描述
     */
    @TableField(value = "materialName")
    @ApiModelProperty(value="物料描述")
    private String materialName;

    /**
     * 物料规格
     */
    @TableField(value = "materialSpec")
    @ApiModelProperty(value="物料规格")
    private String materialSpec;

    /**
     * 物料单位
     */
    @TableField(value = "materialUnit")
    @ApiModelProperty(value="物料单位")
    private String materialUnit;

    /**
     * 发货数量
     */
    @TableField(value = "shipQty")
    @ApiModelProperty(value="发货数量")
    private BigDecimal shipQty;

    /**
     * 请求数量
     */
    @TableField(value = "requestQty")
    @ApiModelProperty(value="请求数量")
    private BigDecimal requestQty;

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

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

    /**
     * 拣货货位
     */
    @TableField(value = "pickLocs")
    @ApiModelProperty(value="拣货货位")
    private String pickLocs;

    /**
     * 属性1
     */
    @TableField(value = "attribute1")
    @ApiModelProperty(value="属性1")
    private String attribute1;

    /**
     * 属性2
     */
    @TableField(value = "attribute2")
    @ApiModelProperty(value="属性2")
    private String attribute2;

    /**
     * 属性3
     */
    @TableField(value = "attribute3")
    @ApiModelProperty(value="属性3")
    private String attribute3;

    /**
     * 属性4
     */
    @TableField(value = "attribute4")
    @ApiModelProperty(value="属性4")
    private String attribute4;

    /**
     * 批次
     */
    @TableField(value = "batch")
    @ApiModelProperty(value="批次")
    private String batch;

    /**
     * 批号
     */
    @TableField(value = "lot")
    @ApiModelProperty(value="批号")
    private String lot;

    /**
     * 项目号
     */
    @TableField(value = "projectNo")
    @ApiModelProperty(value="项目号")
    private String projectNo;

    /**
     * 生产日期
     */
    @TableField(value = "manufactureDate")
    @ApiModelProperty(value="生产日期")
    private Date manufactureDate;

    /**
     * 失效日期
     */
    @TableField(value = "expirationDate")
    @ApiModelProperty(value="失效日期")
    private Date expirationDate;

    /**
     * 入库日期
     */
    @TableField(value = "agingDate")
    @ApiModelProperty(value="入库日期")
    private Date agingDate;

    /**
     * 库存状态
     */
    @TableField(value = "inventorySts")
    @ApiModelProperty(value="库存状态")
    private String inventorySts;

    /**
     * 月台货位
     */
    @TableField(value = "dockLoc")
    @ApiModelProperty(value="月台货位")
    private String dockLoc;

    /**
     * 包装分类
     */
    @TableField(value = "packingClass")
    @ApiModelProperty(value="包装分类")
    private String packingClass;


    /**
     * 状态
     */
    @TableField(value = "status")
    @ApiModelProperty(value="状态")
    private Integer status;

    /**
     * 波次号
     */
    @TableField(value = "waveId")
    @ApiModelProperty(value="波次号")
    private Integer waveId;

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

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

    private static final long serialVersionUID = 1L;

    public static final String COL_SHIPMENTID = "shipmentId";

    public static final String COL_WAREHOUSECODE = "warehouseCode";

    public static final String COL_COMPANYCODE = "companyCode";

    public static final String COL_SHIPMENTCODE = "shipmentCode";

    public static final String COL_REFERCODE = "referCode";

    public static final String COL_REFERID = "referId";

    public static final String COL_REFERLINENUM = "referLineNum";

    public static final String COL_MATERIALCODE = "materialCode";

    public static final String COL_MATERIALNAME = "materialName";

    public static final String COL_MATERIALSPEC = "materialSpec";

    public static final String COL_MATERIALUNIT = "materialUnit";

    public static final String COL_SHIPQTY = "shipQty";

    public static final String COL_REQUESTQTY = "requestQty";

    public static final String COL_ALLOCATIONRULE = "allocationRule";

    public static final String COL_REPLENISHMENTRULE = "replenishmentRule";

    public static final String COL_PICKLOCS = "pickLocs";

    public static final String COL_ATTRIBUTE1 = "attribute1";

    public static final String COL_ATTRIBUTE2 = "attribute2";

    public static final String COL_ATTRIBUTE3 = "attribute3";

    public static final String COL_ATTRIBUTE4 = "attribute4";

    public static final String COL_BATCH = "batch";

    public static final String COL_LOT = "lot";

    public static final String COL_PROJECTNO = "projectNo";

    public static final String COL_MANUFACTUREDATE = "manufactureDate";

    public static final String COL_EXPIRATIONDATE = "expirationDate";

    public static final String COL_AGINGDATE = "agingDate";

    public static final String COL_INVENTORYSTS = "inventorySts";

    public static final String COL_DOCKLOC = "dockLoc";

    public static final String COL_PACKINGCLASS = "packingClass";

    public static final String COL_ENABLE = "enable";

    public static final String COL_WAVEID = "waveId";

    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_PROCESSSTAMP = "processStamp";

    /**
     * 获取出库单内部行号
     *
     * @return id - 出库单内部行号
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置出库单内部行号
     *
     * @param id 出库单内部行号
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取出库单内部号
     *
     * @return shipmentId - 出库单内部号
     */
    public Integer getShipmentId() {
        return shipmentId;
    }

    /**
     * 设置出库单内部号
     *
     * @param shipmentId 出库单内部号
     */
    public void setShipmentId(Integer shipmentId) {
        this.shipmentId = shipmentId;
    }

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

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

    /**
     * 获取货主
     *
     * @return companyCode - 货主
     */
    public String getCompanyCode() {
        return companyCode;
    }

    /**
     * 设置货主
     *
     * @param companyCode 货主
     */
    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    /**
     * 获取出库单号
     *
     * @return shipmentCode - 出库单号
     */
    public String getShipmentCode() {
        return shipmentCode;
    }

    /**
     * 设置出库单号
     *
     * @param shipmentCode 出库单号
     */
    public void setShipmentCode(String shipmentCode) {
        this.shipmentCode = shipmentCode;
    }

    /**
     * 获取上游订单号
     *
     * @return referCode - 上游订单号
     */
    public String getReferCode() {
        return referCode;
    }

    /**
     * 设置上游订单号
     *
     * @param referCode 上游订单号
     */
    public void setReferCode(String referCode) {
        this.referCode = referCode;
    }

    /**
     * 获取上游订单内部号
     *
     * @return referId - 上游订单内部号
     */
    public Integer getReferId() {
        return referId;
    }

    /**
     * 设置上游订单内部号
     *
     * @param referId 上游订单内部号
     */
    public void setReferId(Integer referId) {
        this.referId = referId;
    }

    /**
     * 获取上游订单行号
     *
     * @return referLineNum - 上游订单行号
     */
    public String getReferLineNum() {
        return referLineNum;
    }

    /**
     * 设置上游订单行号
     *
     * @param referLineNum 上游订单行号
     */
    public void setReferLineNum(String referLineNum) {
        this.referLineNum = referLineNum;
    }

    /**
     * 获取物料
     *
     * @return materialCode - 物料
     */
    public String getMaterialCode() {
        return materialCode;
    }

    /**
     * 设置物料
     *
     * @param materialCode 物料
     */
    public void setMaterialCode(String materialCode) {
        this.materialCode = materialCode;
    }

    /**
     * 获取物料描述
     *
     * @return materialName - 物料描述
     */
    public String getMaterialName() {
        return materialName;
    }

    /**
     * 设置物料描述
     *
     * @param materialName 物料描述
     */
    public void setMaterialName(String materialName) {
        this.materialName = materialName;
    }

    /**
     * 获取物料规格
     *
     * @return materialSpec - 物料规格
     */
    public String getMaterialSpec() {
        return materialSpec;
    }

    /**
     * 设置物料规格
     *
     * @param materialSpec 物料规格
     */
    public void setMaterialSpec(String materialSpec) {
        this.materialSpec = materialSpec;
    }

    /**
     * 获取物料单位
     *
     * @return materialUnit - 物料单位
     */
    public String getMaterialUnit() {
        return materialUnit;
    }

    /**
     * 设置物料单位
     *
     * @param materialUnit 物料单位
     */
    public void setMaterialUnit(String materialUnit) {
        this.materialUnit = materialUnit;
    }

    public BigDecimal getShipQty() {
        return shipQty;
    }

    public void setShipQty(BigDecimal shipQty) {
        this.shipQty = shipQty;
    }

    public BigDecimal getRequestQty() {
        return requestQty;
    }

    public void setRequestQty(BigDecimal requestQty) {
        this.requestQty = requestQty;
    }

    /**
     * 获取分配规则
     *
     * @return allocationRule - 分配规则
     */
    public String getAllocationRule() {
        return allocationRule;
    }

    /**
     * 设置分配规则
     *
     * @param allocationRule 分配规则
     */
    public void setAllocationRule(String allocationRule) {
        this.allocationRule = allocationRule;
    }

    /**
     * 获取补货规则
     *
     * @return replenishmentRule - 补货规则
     */
    public String getReplenishmentRule() {
        return replenishmentRule;
    }

    /**
     * 设置补货规则
     *
     * @param replenishmentRule 补货规则
     */
    public void setReplenishmentRule(String replenishmentRule) {
        this.replenishmentRule = replenishmentRule;
    }

    /**
     * 获取拣货货位
     *
     * @return pickLocs - 拣货货位
     */
    public String getPickLocs() {
        return pickLocs;
    }

    /**
     * 设置拣货货位
     *
     * @param pickLocs 拣货货位
     */
    public void setPickLocs(String pickLocs) {
        this.pickLocs = pickLocs;
    }

    /**
     * 获取属性1
     *
     * @return attribute1 - 属性1
     */
    public String getAttribute1() {
        return attribute1;
    }

    /**
     * 设置属性1
     *
     * @param attribute1 属性1
     */
    public void setAttribute1(String attribute1) {
        this.attribute1 = attribute1;
    }

    /**
     * 获取属性2
     *
     * @return attribute2 - 属性2
     */
    public String getAttribute2() {
        return attribute2;
    }

    /**
     * 设置属性2
     *
     * @param attribute2 属性2
     */
    public void setAttribute2(String attribute2) {
        this.attribute2 = attribute2;
    }

    /**
     * 获取属性3
     *
     * @return attribute3 - 属性3
     */
    public String getAttribute3() {
        return attribute3;
    }

    /**
     * 设置属性3
     *
     * @param attribute3 属性3
     */
    public void setAttribute3(String attribute3) {
        this.attribute3 = attribute3;
    }

    /**
     * 获取属性4
     *
     * @return attribute4 - 属性4
     */
    public String getAttribute4() {
        return attribute4;
    }

    /**
     * 设置属性4
     *
     * @param attribute4 属性4
     */
    public void setAttribute4(String attribute4) {
        this.attribute4 = attribute4;
    }

    /**
     * 获取批次
     *
     * @return batch - 批次
     */
    public String getBatch() {
        return batch;
    }

    /**
     * 设置批次
     *
     * @param batch 批次
     */
    public void setBatch(String batch) {
        this.batch = batch;
    }

    /**
     * 获取批号
     *
     * @return lot - 批号
     */
    public String getLot() {
        return lot;
    }

    /**
     * 设置批号
     *
     * @param lot 批号
     */
    public void setLot(String lot) {
        this.lot = lot;
    }

    /**
     * 获取项目号
     *
     * @return projectNo - 项目号
     */
    public String getProjectNo() {
        return projectNo;
    }

    /**
     * 设置项目号
     *
     * @param projectNo 项目号
     */
    public void setProjectNo(String projectNo) {
        this.projectNo = projectNo;
    }

    /**
     * 获取生产日期
     *
     * @return manufactureDate - 生产日期
     */
    public Date getManufactureDate() {
        return manufactureDate;
    }

    /**
     * 设置生产日期
     *
     * @param manufactureDate 生产日期
     */
    public void setManufactureDate(Date manufactureDate) {
        this.manufactureDate = manufactureDate;
    }

    /**
     * 获取失效日期
     *
     * @return expirationDate - 失效日期
     */
    public Date getExpirationDate() {
        return expirationDate;
    }

    /**
     * 设置失效日期
     *
     * @param expirationDate 失效日期
     */
    public void setExpirationDate(Date expirationDate) {
        this.expirationDate = expirationDate;
    }

    /**
     * 获取入库日期
     *
     * @return agingDate - 入库日期
     */
    public Date getAgingDate() {
        return agingDate;
    }

    /**
     * 设置入库日期
     *
     * @param agingDate 入库日期
     */
    public void setAgingDate(Date agingDate) {
        this.agingDate = agingDate;
    }

    /**
     * 获取库存状态
     *
     * @return inventorySts - 库存状态
     */
    public String getInventorySts() {
        return inventorySts;
    }

    /**
     * 设置库存状态
     *
     * @param inventorySts 库存状态
     */
    public void setInventorySts(String inventorySts) {
        this.inventorySts = inventorySts;
    }

    /**
     * 获取月台货位
     *
     * @return dockLoc - 月台货位
     */
    public String getDockLoc() {
        return dockLoc;
    }

    /**
     * 设置月台货位
     *
     * @param dockLoc 月台货位
     */
    public void setDockLoc(String dockLoc) {
        this.dockLoc = dockLoc;
    }

    /**
     * 获取包装分类
     *
     * @return packingClass - 包装分类
     */
    public String getPackingClass() {
        return packingClass;
    }

    /**
     * 设置包装分类
     *
     * @param packingClass 包装分类
     */
    public void setPackingClass(String packingClass) {
        this.packingClass = packingClass;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取波次号
     *
     * @return waveId - 波次号
     */
    public Integer getWaveId() {
        return waveId;
    }

    /**
     * 设置波次号
     *
     * @param waveId 波次号
     */
    public void setWaveId(Integer waveId) {
        this.waveId = waveId;
    }

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


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

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


    public BigDecimal getInventoryQty() {
        return inventoryQty;
    }

    public void setInventoryQty(BigDecimal inventoryQty) {
        this.inventoryQty = inventoryQty;
    }
}