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

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

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

@ApiModel
@Table(value = "WMS_BARCODE_H", camelToUnderline = true)
public class BarcodeHDO extends BaseModel implements Serializable {
    private static final long serialVersionUID = -311982425573211666L;
    @Id
    @ApiModelProperty(value = "ID")
    @Column(value = "id")
    private String id;

    @ApiModelProperty(value = "订单组id")
    @Column(value = "bill_group_id")
    private String billGroupId;

    @ApiModelProperty(value = "类型（0-拼箱码 1-整件拣选码）")
    @Column(value = "type")
    private String type;

    @ApiModelProperty(value = "条码")
    @Column(value = "barcode")
    private String barcode;

    @ApiModelProperty(value = "条码类型（0-标签 1-面单）")
    @Column(value = "barcode_type")
    private String barcodeType;

    @ApiModelProperty(value = "拼箱编号")
    @Column(value = "lcl_no")
    private Integer lclNo;

    @ApiModelProperty(value = "容器编码")
    @Column(value = "container_code")
    private String containerCode;

    @ApiModelProperty(value = "状态（0-未装完，已经装完）")
    @Column(value = "status")
    private char status;

    @ApiModelProperty(value = "仓库id")
    @Column(value = "warehouse_id")
    private String warehouseId;

    @ApiModelProperty(value = "复核台编码")
    @Column(value = "station_code")
    private String stationCode;

    @ApiModelProperty(value = "打印次数")
    @Column(value = "print_count")
    private Integer printCount;

    @ApiModelProperty(value = "打印人")
    @Column(value = "print_name")
    private String printName;

    @ApiModelProperty(value = "打印时间")
    @Column(value = "print_date")
    private Date printDate;

    @ApiModelProperty(value = "复核状态： 0-待复核索取，1-已索取，5-已复核")
    @Column(value = "check_status")
    private String checkStatus;

    @ApiModelProperty(value = "复核人ID/索取人ID")
    @Column(value = "checker_id")
    private String checkerId;

    @ApiModelProperty(value = "复核人工号/索取人工")
    @Column(value = "checker_no")
    private String checkerNo;

    @ApiModelProperty(value = "复核人名称/索取人名称")
    @Column(value = "checker_name")
    private String checkerName;

    @ApiModelProperty(value = "复核人id-2")
    @Column(value = "checker_id_2")
    private String checkerId2;

    @ApiModelProperty(value = "复核人工号-2")
    @Column(value = "checker_no_2")
    private String checkerNo2;

    @ApiModelProperty(value = "复核人名称-2")
    @Column(value = "checker_name_2")
    private String checkerName2;

    @ApiModelProperty(value = "索取时间")
    @Column(value = "check_time")
    private Date checkTime;

    @ApiModelProperty(value = "复核时间")
    @Column(value = "check_time_2")
    private Date checkTime2;

    @ApiModelProperty(value = "建筑物id")
    @Column(value = "bldg_id")
    private String bldgId;

    @ApiModelProperty(value = "建筑物名称")
    @Column(value = "bldg_name")
    private String bldgName;


    @ApiModelProperty(value = "整件商品监管码")
    @Column(value = "supervise_code")
    private String superviseCode;

    @ApiModelProperty(value = "是否合箱")
    @Column(value = "is_merged")
    private Integer isMerged;

    @ApiModelProperty(value = "合并后的编码")
    @Column(value = "merged_code")
    private String mergedCode;


    @ApiModelProperty(value = "打印次数出库清单")
    @Column(value = "outbound_print_count")
    private Integer outboundPrintCount;

    @ApiModelProperty(value = "打印次数报告单")
    @Column(value = "report_print_count")
    private Integer reportPrintCount;

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

    @Column(value = "take_goods_name")
    @ApiModelProperty(value = "提货人")
    private String takeGoodsName;

    @Column(value = "take_goods_phone")
    @ApiModelProperty(value = "提货人电话")
    private String takeGoodsPhone;
    @Column(value = "weight")
    @ApiModelProperty(value = "重量")
    private Double weight;

    @Column(value = "slide_no")
    @ApiModelProperty(value = "滑道号")
    private String slideNo;

    @ApiModelProperty(value = "索取时间")
    @Column(value = "slide_time")
    private Date slideTime;

    @ApiModelProperty(value = "取消标识")
    @Column("cancel_flag")
    private String cancelFlag;

    @ApiModelProperty(value = "物流商类型(1快递；2物流; 3快运)")
    @Column(value = "carrier_type")
    private String carrierType;

    @ApiModelProperty(value = "推送TMS次数")
    @Column(value = "tms_push_count")
    private Integer tmsPushCount;

    public String getCancelFlag() {
        return cancelFlag;
    }

    public void setCancelFlag(String cancelFlag) {
        this.cancelFlag = cancelFlag;
    }

    public Double getWeight() {
        return weight;
    }

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

    public Integer getReportPrintCount() {
        return reportPrintCount;
    }

    public void setReportPrintCount(Integer reportPrintCount) {
        this.reportPrintCount = reportPrintCount;
    }

    public Integer getOutboundPrintCount() {
        return outboundPrintCount;
    }

    public void setOutboundPrintCount(Integer outboundPrintCount) {
        this.outboundPrintCount = outboundPrintCount;
    }

    public String getMergedCode() {
        return mergedCode;
    }

    public void setMergedCode(String mergedCode) {
        this.mergedCode = mergedCode;
    }

    public Integer getIsMerged() {
        return isMerged;
    }

    public void setIsMerged(Integer isMerged) {
        this.isMerged = isMerged;
    }

    public String getSuperviseCode() {
        return superviseCode;
    }

    public void setSuperviseCode(String superviseCode) {
        this.superviseCode = superviseCode;
    }

    public String getBldgId() {
        return bldgId;
    }

    public void setBldgId(String bldgId) {
        this.bldgId = bldgId;
    }

    public String getBldgName() {
        return bldgName;
    }

    public void setBldgName(String bldgName) {
        this.bldgName = bldgName;
    }

    public Integer getPrintCount() {
        return printCount;
    }

    public void setPrintCount(Integer printCount) {
        this.printCount = printCount;
    }

    public String getPrintName() {
        return printName;
    }

    public void setPrintName(String printName) {
        this.printName = printName;
    }

    public Date getPrintDate() {
        return printDate;
    }

    public void setPrintDate(Date printDate) {
        this.printDate = printDate;
    }

    public String getCheckerId() {
        return checkerId;
    }

    public void setCheckerId(String checkerId) {
        this.checkerId = checkerId;
    }

    public String getCheckerNo() {
        return checkerNo;
    }

    public void setCheckerNo(String checkerNo) {
        this.checkerNo = checkerNo;
    }

    public String getCheckerName() {
        return checkerName;
    }

    public void setCheckerName(String checkerName) {
        this.checkerName = checkerName;
    }

    public String getCheckerId2() {
        return checkerId2;
    }

    public void setCheckerId2(String checkerId2) {
        this.checkerId2 = checkerId2;
    }

    public String getCheckerNo2() {
        return checkerNo2;
    }

    public void setCheckerNo2(String checkerNo2) {
        this.checkerNo2 = checkerNo2;
    }

    public String getCheckerName2() {
        return checkerName2;
    }

    public void setCheckerName2(String checkerName2) {
        this.checkerName2 = checkerName2;
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    public Date getCheckTime2() {
        return checkTime2;
    }

    public void setCheckTime2(Date checkTime2) {
        this.checkTime2 = checkTime2;
    }

    public String getCheckStatus() {
        return checkStatus;
    }

    public void setCheckStatus(String checkStatus) {
        this.checkStatus = checkStatus;
    }

    public String getId() {
        return id;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getBarcode() {
        return barcode;
    }

    public void setBarcode(String barcode) {
        this.barcode = barcode;
    }

    public String getBarcodeType() {
        return barcodeType;
    }

    public void setBarcodeType(String barcodeType) {
        this.barcodeType = barcodeType;
    }

    public Integer getLclNo() {
        return lclNo;
    }

    public void setLclNo(Integer lclNo) {
        this.lclNo = lclNo;
    }

    public char getStatus() {
        return status;
    }

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

    public String getWarehouseId() {
        return warehouseId;
    }

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

    public String getBillGroupId() {
        return billGroupId;
    }

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

    public String getContainerCode() {
        return containerCode;
    }

    public void setContainerCode(String containerCode) {
        this.containerCode = containerCode;
    }

    public String getStationCode() {
        return stationCode;
    }

    public void setStationCode(String stationCode) {
        this.stationCode = stationCode;
    }

    public String getShipBillNo() {
        return shipBillNo;
    }

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

    public String getSlideNo() {
        return slideNo;
    }

    public void setSlideNo(String slideNo) {
        this.slideNo = slideNo;
    }

    public Date getSlideTime() {
        return slideTime;
    }

    public void setSlideTime(Date slideTime) {
        this.slideTime = slideTime;
    }

    public String getCarrierType() {
        return carrierType;
    }

    public void setCarrierType(String carrierType) {
        this.carrierType = carrierType;
    }

    @Override
    public String toString() {
        return "BarcodeHDO{" +
                "id='" + id + '\'' +
                ", billGroupId='" + billGroupId + '\'' +
                ", type='" + type + '\'' +
                ", barcode='" + barcode + '\'' +
                ", lclNo=" + lclNo +
                ", containerCode='" + containerCode + '\'' +
                ", status=" + status +
                ", warehouseId='" + warehouseId + '\'' +
                ", stationCode='" + stationCode + '\'' +
                ", shipBillNo='" + shipBillNo + '\'' +
                '}';
    }

    public String getTakeGoodsName() {
        return takeGoodsName;
    }

    public void setTakeGoodsName(String takeGoodsName) {
        this.takeGoodsName = takeGoodsName;
    }

    public String getTakeGoodsPhone() {
        return takeGoodsPhone;
    }

    public void setTakeGoodsPhone(String takeGoodsPhone) {
        this.takeGoodsPhone = takeGoodsPhone;
    }

    public Integer getTmsPushCount() {
        return tmsPushCount;
    }

    public void setTmsPushCount(Integer tmsPushCount) {
        this.tmsPushCount = tmsPushCount;
    }
}
