package com.prolog.cs.biz.inbound.model.failure;

import com.fasterxml.jackson.annotation.JsonFormat;
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.Table;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @Description
 * @Date 2021-04-02
 */

@ApiModel
@Table(value = "wms_in_exception_headers", appendDefaultJdbcType = true, camelToUnderline = true)
public class ExceptionHeaders extends BaseModel implements Serializable {
	private static final long serialVersionUID = 6073272568104246346L;
	@Id
	@AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
	/** 错误单头ID(主键雪花id) **/
	@ApiModelProperty(value = "错误单头ID(主键雪花id)")
	private String exceptionHeaderId;

	/** 收货单头ID **/
	@ApiModelProperty(value = "收货单头ID")
	private String rcvHeaderId;

	/** 单据流水好 **/
	@ApiModelProperty(value = "单据流水好")
	private String autoBillNum;

	/** 来源单头ID(PO/XT/YC) **/
	@ApiModelProperty(value = "来源单头ID(PO/XT/YC)")
	private String srcHeaderId;

	/** ASN行ID **/
	@ApiModelProperty(value = "ASN行ID")
	private String asnHeaderId;

	/** 行号 **/
	@ApiModelProperty(value = "行号")
	private BigDecimal lineNum;

	/** 货主ID **/
	@ApiModelProperty(value = "货主ID")
	private String mtlOwnerId;

	/** 仓库ID **/
	@ApiModelProperty(value = "仓库ID")
	private String warehouseId;

	/** 操作时间 **/
	@ApiModelProperty(value = "操作时间")
	private String executorUser;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date executorDate;

	/** 错误发现节点（收货/验收/质检/上架） **/
	@ApiModelProperty(value = "错误发现节点（收货/验收/质检/上架）")
	private String nodeType;

	/** 手工单号 **/
	@ApiModelProperty(value = "手工单号")
	private String customBillNum;

	/** 来源单类型 **/
	@ApiModelProperty(value = "来源单类型")
	private String srcBillType;

	public String getExceptionHeaderId() {
		return this.exceptionHeaderId;
	}

	public void setExceptionHeaderId(String exceptionHeaderId) {
		this.exceptionHeaderId = exceptionHeaderId;
	}

	public String getRcvHeaderId() {
		return this.rcvHeaderId;
	}

	public void setRcvHeaderId(String rcvHeaderId) {
		this.rcvHeaderId = rcvHeaderId;
	}

	public String getAutoBillNum() {
		return this.autoBillNum;
	}

	public void setAutoBillNum(String autoBillNum) {
		this.autoBillNum = autoBillNum;
	}

	public String getSrcHeaderId() {
		return this.srcHeaderId;
	}

	public void setSrcHeaderId(String srcHeaderId) {
		this.srcHeaderId = srcHeaderId;
	}

	public String getAsnHeaderId() {
		return this.asnHeaderId;
	}

	public void setAsnHeaderId(String asnHeaderId) {
		this.asnHeaderId = asnHeaderId;
	}

	public BigDecimal getLineNum() {
		return this.lineNum;
	}

	public void setLineNum(BigDecimal lineNum) {
		this.lineNum = lineNum;
	}

	public String getMtlOwnerId() {
		return this.mtlOwnerId;
	}

	public void setMtlOwnerId(String mtlOwnerId) {
		this.mtlOwnerId = mtlOwnerId;
	}

	public String getWarehouseId() {
		return this.warehouseId;
	}

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

	public String getExecutorUser() {
		return this.executorUser;
	}

	public void setExecutorUser(String executorUser) {
		this.executorUser = executorUser;
	}

	public Date getExecutorDate() {
		return this.executorDate;
	}

	public void setExecutorDate(Date executorDate) {
		this.executorDate = executorDate;
	}

	public String getNodeType() {
		return nodeType;
	}

	public void setNodeType(String nodeType) {
		this.nodeType = nodeType;
	}

	public String getCustomBillNum() {
		return this.customBillNum;
	}

	public void setCustomBillNum(String customBillNum) {
		this.customBillNum = customBillNum;
	}

	public String getSrcBillType() {
		return this.srcBillType;
	}

	public void setSrcBillType(String srcBillType) {
		this.srcBillType = srcBillType;
	}

}
