package com.prolog.cs.biz.outbound.model.entity;

import com.prolog.framework.bz.core.model.BaseModel;
import com.prolog.framework.core.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Description 波次分组订单，商品明细表
 * @Date 2021-03-25
 */

@ApiModel
@Table(value = "wms_wave_bill_d", appendDefaultJdbcType = true, camelToUnderline = true)
public class WaveBillDDO extends BaseModel implements Serializable {
    private static final long serialVersionUID = 5747076032342382841L;
    
    @Id
    @ApiModelProperty(value = "ID")
    @Column(value = "id")
    private String id;

    @ApiModelProperty(value = "订单id")
    @Column(value = "bill_id")
    private String billId;

    @Column(value = "item_id")
    private String itemId;

    @ApiModelProperty(value = "商品编码")
    @Column(value = "item_code")
    private String itemCode;

    @ApiModelProperty(value = "商品名称")
    @Column(value = "item_name")
    private String itemName;

    @ApiModelProperty(value = "生产厂家")
    @Column(value = "manufacturer")
    private String manufacturer;

    @ApiModelProperty(value = "商品规格")
    @Column(value = "item_specs")
    private String itemSpecs;

    @ApiModelProperty(value = "商品数量(最小单位数量)")
    @Column(value = "piece_qty")
    private BigDecimal pieceQty;

    @ApiModelProperty(value = "单位数量（件数）")
    @Column(value = "uom_qty")
    private BigDecimal uomQty;

    @ApiModelProperty(value = "零散数")
    @Column(value = "odd_piece_qty")
    private BigDecimal oddPieceQty;


    @ApiModelProperty(value = "单位因子（包装数量）")
    @Column(value = "conversion_rate")
    private BigDecimal conversionRate;

    @ApiModelProperty(value = "单位")
    @Column(value = "uom")
    private BigDecimal uom;

    @ApiModelProperty(value = "批号")
    @Column(value = "manufacturer_lot_num")
    private String manufacturerLotNum;

    @ApiModelProperty(value = "批次号")
    @Column(value = "batch_num")
    private String batchNum;

    @ApiModelProperty(value = "总体积")
    @Column(value = "total_volume")
    private BigDecimal totalVolume;

    @ApiModelProperty(value = "总重量")
    @Column(value = "total_weight")
    private BigDecimal totalWeight;


    @ApiModelProperty(value = "批次规则")
    @Column(value = "pick_rule")
    private String pickRule;

    @ApiModelProperty(value = "商品健康大类")
    @Column(value = "item_category_code")
    private String itemCategoryCode;

    @ApiModelProperty(value = "商品健康大类名称")
    @Column("ITEM_HEALTH_CATEGORY_NAME")
    private String itemHealthCategoryName;

    @Column(value = "CASE_CONVERSION_RATE")
    @ApiModelProperty(value = "外箱箱规")
    private BigDecimal caseConversionRate;

    @ApiModelProperty(value = "外箱单位")
    @Column(value = "case_uom")
    private String caseUom;

    @ApiModelProperty(value = "外箱码")
    @Column(value = "case_bar_code")
    private String caseBarcode;

    @ApiModelProperty(value = "长（箱CM）")
    @Column(value = "length")
    private BigDecimal length;

    @ApiModelProperty(value = "宽（箱CM）")
    @Column(value = "width")
    private BigDecimal width;

    @ApiModelProperty(value = "高（箱CM）")
    @Column(value = "height")
    private BigDecimal height;

    @ApiModelProperty(value = "体积（箱立方厘米）")
    @Column(value = "volume")
    private BigDecimal volume;

    @ApiModelProperty("整散标记(?到仓库 ,不能为通用属性 01整散合一/02整散分开)")
    @Column(value = "is_case_or_piece")
    private Integer isCaseOrPiece;

    @ApiModelProperty(value = "波次ID")
    @Column(value = "wave_id")
    private String waveId;


    @Column(value = "weight")
    @ApiModelProperty(value = "重量（箱KG）")
    private BigDecimal weight;

    @Column(value = "item_health_is_double")
    @ApiModelProperty(value = "是否双人验收")
    private String itemHealthIsDouble;

    @Column(value = "abc_type")
    @ApiModelProperty(value = "abc")
    private String abcType;

    @Column(value = "src_line_id")
    @ApiModelProperty(value = "oms订单行id")
    private String srcLineId;

    @Column(value = "total_pcs")
    @ApiModelProperty(value = "总件数")
    private Integer totalPcs;

    @Column(value = "stockstatus")
    @ApiModelProperty(value = "库存状态")
    private String stockStatus;

    @Column(value = "merged_bill_id")
    @ApiModelProperty(value = "合单号")
    private String mergedBillId;

    @Column(value = "is_whole_qty")
    @ApiModelProperty(value = "1 整件 2 零货")
    private Integer isWholeQty;

    @Column(value = "ship_bill_no")
    @ApiModelProperty(value = "发运号")
    private String shipBillNo;

    @ApiModelProperty(value = "来源订单编码")
    @Ignore
    private String srcCode;

    @ApiModelProperty(value = "来源订单id")
    @Ignore
    private String srcId;

    @ApiModelProperty(value = "拣货数量")
    @Ignore
    private BigDecimal pickQty;

    public String getStockStatus() {
        return stockStatus;
    }

    public void setStockStatus(String stockStatus) {
        this.stockStatus = stockStatus;
    }

    public String getItemHealthCategoryName() {
        return itemHealthCategoryName;
    }

    public void setItemHealthCategoryName(String itemHealthCategoryName) {
        this.itemHealthCategoryName = itemHealthCategoryName;
    }

    public String getSrcId() {
        return srcId;
    }

    public void setSrcId(String srcId) {
        this.srcId = srcId;
    }

    public String getSrcCode() {
        return srcCode;
    }

    public void setSrcCode(String srcCode) {
        this.srcCode = srcCode;
    }

    public Integer getTotalPcs() {
        return totalPcs;
    }

    public void setTotalPcs(Integer totalPcs) {
        this.totalPcs = totalPcs;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBillId() {
        return billId;
    }

    public void setBillId(String billId) {
        this.billId = billId;
    }

    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getItemCode() {
        return itemCode;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getItemSpecs() {
        return itemSpecs;
    }

    public void setItemSpecs(String itemSpecs) {
        this.itemSpecs = itemSpecs;
    }

    public BigDecimal getPieceQty() {
        return pieceQty;
    }

    public void setPieceQty(BigDecimal pieceQty) {
        this.pieceQty = pieceQty;
    }

    public BigDecimal getUomQty() {
        return uomQty;
    }

    public void setUomQty(BigDecimal uomQty) {
        this.uomQty = uomQty;
    }

    public BigDecimal getOddPieceQty() {
        return oddPieceQty;
    }

    public void setOddPieceQty(BigDecimal oddPieceQty) {
        this.oddPieceQty = oddPieceQty;
    }

    public BigDecimal getConversionRate() {
        return conversionRate;
    }

    public void setConversionRate(BigDecimal conversionRate) {
        this.conversionRate = conversionRate;
    }

    public BigDecimal getUom() {
        return uom;
    }

    public void setUom(BigDecimal uom) {
        this.uom = uom;
    }

    public String getManufacturerLotNum() {
        return manufacturerLotNum;
    }

    public void setManufacturerLotNum(String manufacturerLotNum) {
        this.manufacturerLotNum = manufacturerLotNum;
    }

    public String getBatchNum() {
        return batchNum;
    }

    public void setBatchNum(String batchNum) {
        this.batchNum = batchNum;
    }

    public BigDecimal getTotalVolume() {
        return totalVolume;
    }

    public void setTotalVolume(BigDecimal totalVolume) {
        this.totalVolume = totalVolume;
    }

    public BigDecimal getTotalWeight() {
        return totalWeight;
    }

    public void setTotalWeight(BigDecimal totalWeight) {
        this.totalWeight = totalWeight;
    }

    public String getPickRule() {
        return pickRule;
    }

    public void setPickRule(String pickRule) {
        this.pickRule = pickRule;
    }

    public String getItemCategoryCode() {
        return itemCategoryCode;
    }

    public void setItemCategoryCode(String itemCategoryCode) {
        this.itemCategoryCode = itemCategoryCode;
    }

    public BigDecimal getCaseConversionRate() {
        return caseConversionRate;
    }

    public void setCaseConversionRate(BigDecimal caseConversionRate) {
        this.caseConversionRate = caseConversionRate;
    }

    public String getCaseUom() {
        return caseUom;
    }

    public void setCaseUom(String caseUom) {
        this.caseUom = caseUom;
    }

    public String getCaseBarcode() {
        return caseBarcode;
    }

    public void setCaseBarcode(String caseBarcode) {
        this.caseBarcode = caseBarcode;
    }

    public BigDecimal getLength() {
        return length;
    }

    public void setLength(BigDecimal length) {
        this.length = length;
    }

    public BigDecimal getWidth() {
        return width;
    }

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

    public BigDecimal getHeight() {
        return height;
    }

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

    public BigDecimal getVolume() {
        return volume;
    }

    public void setVolume(BigDecimal volume) {
        this.volume = volume;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public String getItemHealthIsDouble() {
        return itemHealthIsDouble;
    }

    public void setItemHealthIsDouble(String itemHealthIsDouble) {
        this.itemHealthIsDouble = itemHealthIsDouble;
    }

    public String getAbcType() {
        return abcType;
    }

    public void setAbcType(String abcType) {
        this.abcType = abcType;
    }


    public Integer getIsCaseOrPiece() {
        return isCaseOrPiece;
    }

    public void setIsCaseOrPiece(Integer isCaseOrPiece) {
        this.isCaseOrPiece = isCaseOrPiece;
    }

    public String getWaveId() {
        return waveId;
    }

    public void setWaveId(String waveId) {
        this.waveId = waveId;
    }

    public String getSrcLineId() {
        return srcLineId;
    }

    public void setSrcLineId(String srcLineId) {
        this.srcLineId = srcLineId;
    }

    public String getMergedBillId() {
        return mergedBillId;
    }

    public void setMergedBillId(String mergedBillId) {
        this.mergedBillId = mergedBillId;
    }

    public Integer getIsWholeQty() {
        return isWholeQty;
    }

    public void setIsWholeQty(Integer isWholeQty) {
        this.isWholeQty = isWholeQty;
    }

    public String getShipBillNo() {
        return shipBillNo;
    }

    public void setShipBillNo(String shipBillNo) {
        this.shipBillNo = shipBillNo;
    }

    public BigDecimal getPickQty() {
        return pickQty;
    }

    public void setPickQty(BigDecimal pickQty) {
        this.pickQty = pickQty;
    }
}
