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

import com.prolog.cs.biz.outbound.model.WAVE_STATUS;
import com.prolog.framework.bz.core.model.BaseModel;
import com.prolog.framework.core.annotation.AutoKey;
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;

/**
 * @Description 波次主表
 * @Date 2021-03-25
 */
@ApiModel
@Table(value = "wms_wave", camelToUnderline = true)
public class WaveDO extends BaseModel implements Serializable {
    private static final long serialVersionUID = 1609634075228018919L;
    @Id
    @AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
    @ApiModelProperty(value = "波次ID")
    @Column(value = "id")
    private String id;

    @ApiModelProperty(value = "波次编号")
    @Column(value = "code")
    private String code;

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

    @ApiModelProperty(value = "状态")
    @Column(value = "status")
    private WAVE_STATUS status;

    @ApiModelProperty(value = "失败原因")
    @Column(value = "error_msg")
    private String errorMsg;

    @ApiModelProperty(value = "优先级")
    @Column(value = "priority")
    private Integer priority;

    @ApiModelProperty(value = "波次订单类型（1：正常订单 2：虚拟 3：实物 4：直调 5:代管 6:待检 7:货主转换）")
    @Column(value = "type")
    private String type;

    @ApiModelProperty(value = "出库单开票通知是否已调用 0或者null:未调用 1已调用")
    @Column("seed_notice_flag")
    private String seedNoticeFlag;

    @ApiModelProperty(value = "是否自动下发波次（0否1是）")
    @Column("is_auto")
    private String isAuto;

    public String getErrorMsg() {
        return errorMsg;
    }

    public String getType() {
        return type;
    }

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

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public String getWarehouseId() {
        return warehouseId;
    }

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

    public String getId() {
        return id;
    }

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

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public WAVE_STATUS getStatus() {
        return status;
    }

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

    public String getSeedNoticeFlag() {
        return seedNoticeFlag;
    }

    public void setSeedNoticeFlag(String seedNoticeFlag) {
        this.seedNoticeFlag = seedNoticeFlag;
    }

    public String getIsAuto() {
        return isAuto;
    }

    public void setIsAuto(String isAuto) {
        this.isAuto = isAuto;
    }
}
