package com.prolog.upcloud.base.wh.operate.model;

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

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

/**
 * WMS_CARGO_CHANGE
 * @author wujunjie
 */
@Table(value = "WMS_CARGO_CHANGE", appendDefaultJdbcType = true, camelToUnderline = true)
public class WmsCargoChange extends BaseModel implements Serializable {


    private static final long serialVersionUID = -8947070799709312869L;

    /**
     * 主表ID
     */
    @Id
    @AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
    private String headerId;

    /**
     * 源单ID
     */
    private String refBillNo;

    /**
     * 仓库ID
     */
    private String warehouseId;

    /**
     * 仓库名称
     */
    private String warehouseName;

    /**
     * 仓库编号
     */
    private String warehouseCode;

    /**
     * 采购单ID
     */
    private String poBillId;

    /**
     * 采购单编号
     */
    private String poBillNo;

    /**
     * 销售单ID
     */
    private String orderBillId;

    /**
     * 销售单编号
     */
    private String orderBillNo;

    /**
     * 源货主ID
     */
    private String srcCargoOwnerId;

    /**
     * 源货主名称
     */
    private String srcCargoOwnerName;

    /**
     * 目标货主ID
     */
    private String destCargoOwnerId;

    /**
     * 目标货主名称
     */
    private String destCargoOwnerName;

    /**
     * 状态(0未完成/2已完成/3取消/4错误)
     */
    private String status;

    /**
     * 错误信息
     */
    private String errMsg;

    /**
     * 取消原因
     */
    private String cancelReason;

    /**
     * 数据来源(WMS/ERP)
     */
    private String sourceType;

    /**
     * 单据日期
     */
    private Date billDate;

    /**
     * 备注
     */
    private String remark;

    /**
     * 验收结论
     */
    @ApiModelProperty("验收结论:0合格/1不合格/3拒绝")
    private String rqcResult;

    /**
     * 验收结论
     */
    @Ignore
    private List<WmsCargoChangeDetail> detailList;

    public List<WmsCargoChangeDetail> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<WmsCargoChangeDetail> detailList) {
        this.detailList = detailList;
    }

    public String getRqcResult() {
        return rqcResult;
    }

    public void setRqcResult(String rqcResult) {
        this.rqcResult = rqcResult;
    }


    public String getHeaderId() {
        return headerId;
    }

    public void setHeaderId(String headerId) {
        this.headerId = headerId;
    }

    public String getRefBillNo() {
        return refBillNo;
    }

    public void setRefBillNo(String refBillNo) {
        this.refBillNo = refBillNo;
    }

    public String getWarehouseId() {
        return warehouseId;
    }

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

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseCode() {
        return warehouseCode;
    }

    public void setWarehouseCode(String warehouseCode) {
        this.warehouseCode = warehouseCode;
    }

    public String getPoBillId() {
        return poBillId;
    }

    public void setPoBillId(String poBillId) {
        this.poBillId = poBillId;
    }

    public String getPoBillNo() {
        return poBillNo;
    }

    public void setPoBillNo(String poBillNo) {
        this.poBillNo = poBillNo;
    }

    public String getOrderBillId() {
        return orderBillId;
    }

    public void setOrderBillId(String orderBillId) {
        this.orderBillId = orderBillId;
    }

    public String getOrderBillNo() {
        return orderBillNo;
    }

    public void setOrderBillNo(String orderBillNo) {
        this.orderBillNo = orderBillNo;
    }

    public String getSrcCargoOwnerId() {
        return srcCargoOwnerId;
    }

    public void setSrcCargoOwnerId(String srcCargoOwnerId) {
        this.srcCargoOwnerId = srcCargoOwnerId;
    }

    public String getSrcCargoOwnerName() {
        return srcCargoOwnerName;
    }

    public void setSrcCargoOwnerName(String srcCargoOwnerName) {
        this.srcCargoOwnerName = srcCargoOwnerName;
    }

    public String getDestCargoOwnerId() {
        return destCargoOwnerId;
    }

    public void setDestCargoOwnerId(String destCargoOwnerId) {
        this.destCargoOwnerId = destCargoOwnerId;
    }

    public String getDestCargoOwnerName() {
        return destCargoOwnerName;
    }

    public void setDestCargoOwnerName(String destCargoOwnerName) {
        this.destCargoOwnerName = destCargoOwnerName;
    }

    public String getStatus() {
        return status;
    }

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

    public String getErrMsg() {
        return errMsg;
    }

    public void setErrMsg(String errMsg) {
        this.errMsg = errMsg;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public Date getBillDate() {
        return billDate;
    }

    public void setBillDate(Date billDate) {
        this.billDate = billDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
