package abacus.springboot.example.dao;

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

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import javax.persistence.Version;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import io.swagger.v3.oas.annotations.media.Schema;

@Entity
@Table(name = "jc_source_item")
@JsonIgnoreProperties(ignoreUnknown = true) 
@Schema(description = "稽查溯源明细")
public class JcSourceItem implements Serializable {

	private static final long serialVersionUID = -2272967075701112300L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Schema(description = "自增长编码", required = true, example = "10")
	private Long id;
	
	@Version
	@Schema(description = "版本号", required = true, example = "1")
	private Integer version = 1;
	
	@Schema(description = "稽查单号", required = true, example = "")
	private String billid;
	
	@Schema(description = "明细Id", required = true, example = "")
	private String srcitemid;
	
	@Schema(description = "状态", required = true, pattern="0：待确认，1：已确认", example = "")
	private int status = 0;
	/** 待确认*/
	public final static int STATUS_ZERO = 0; 
	/** 已确认*/
	public final static int STATUS_ONE = 1; 
	
	@Schema(description = "货品编号", required = true, example = "")
	private String goodsid;
	
	@Schema(description = "物流码", required = true, example = "")
	private String logisticsid;
	
	@Schema(description = "出库单号", required = true, example = "")
	private String billout;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Schema(description = "出库日期", required = true, example = "")
	private Date billoutdt;
	
	@Schema(description = "出库仓库编码", required = true, example = "")
	private String billoutwh;
	
	@Schema(description = "出库仓库名称", required = true, example = "")
	private String billoutwhname;
	
	@Schema(description = "商品编码", required = true, example = "")
	private String product;
	
	@Schema(description = "商品名称", required = true, example = "")
	private String productname;
	
	@Schema(description = "客户编码", required = true, example = "")
	private String account;
	
	@Schema(description = "客户名称", required = true, example = "")
	private String accountname;
	
	@Schema(description = "考核业务员编码", required = true, example = "")
	private String operator;
	
	@Schema(description = "考核业务员名称", required = true, example = "")
	private String operatorname;
	
	@Schema(description = "业务组编码", required = true, example = "")
	private String groupid;
	
	@Schema(description = "业务组名称", required = true, example = "")
	private String groupname;
	
	@Schema(description = "分销区域编码", required = true, example = "")
	private String salearea;
	
	@Schema(description = "分销区域名称", required = true, example = "")
	private String saleareaname;
	
	@Schema(description = "比对来源", required = true, pattern="业务中台，二维码，线下", example = "")
	private String source;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Schema(description = "时间戳", required = true, example = "")
	private Date dt = new Date();
	

	public int getStatus() {
		return status;
	}

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

	public Long getId() {
		return id;
	}

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

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	public String getBillid() {
		return billid;
	}

	public void setBillid(String billid) {
		this.billid = billid;
	}

	public String getSrcitemid() {
		return srcitemid;
	}

	public void setSrcitemid(String srcitemid) {
		this.srcitemid = srcitemid;
	}

	public String getGoodsid() {
		return goodsid;
	}

	public void setGoodsid(String goodsid) {
		this.goodsid = goodsid;
	}

	public String getLogisticsid() {
		return logisticsid;
	}

	public void setLogisticsid(String logisticsid) {
		this.logisticsid = logisticsid;
	}

	public String getBillout() {
		return billout;
	}

	public void setBillout(String billout) {
		this.billout = billout;
	}

	public Date getBilloutdt() {
		return billoutdt;
	}

	public void setBilloutdt(Date billoutdt) {
		this.billoutdt = billoutdt;
	}

	public String getBilloutwh() {
		return billoutwh;
	}

	public void setBilloutwh(String billoutwh) {
		this.billoutwh = billoutwh;
	}

	public String getBilloutwhname() {
		return billoutwhname;
	}

	public void setBilloutwhname(String billoutwhname) {
		this.billoutwhname = billoutwhname;
	}

	public String getProduct() {
		return product;
	}

	public void setProduct(String product) {
		this.product = product;
	}

	public String getProductname() {
		return productname;
	}

	public void setProductname(String productname) {
		this.productname = productname;
	}

	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getAccountname() {
		return accountname;
	}

	public void setAccountname(String accountname) {
		this.accountname = accountname;
	}

	public String getOperator() {
		return operator;
	}

	public void setOperator(String operator) {
		this.operator = operator;
	}

	public String getOperatorname() {
		return operatorname;
	}

	public void setOperatorname(String operatorname) {
		this.operatorname = operatorname;
	}

	public String getGroupid() {
		return groupid;
	}

	public void setGroupid(String groupid) {
		this.groupid = groupid;
	}

	public String getGroupname() {
		return groupname;
	}

	public void setGroupname(String groupname) {
		this.groupname = groupname;
	}

	public String getSalearea() {
		return salearea;
	}

	public void setSalearea(String salearea) {
		this.salearea = salearea;
	}

	public String getSaleareaname() {
		return saleareaname;
	}

	public void setSaleareaname(String saleareaname) {
		this.saleareaname = saleareaname;
	}

	public String getSource() {
		return source;
	}

	public void setSource(String source) {
		this.source = source;
	}

	public Date getDt() {
		return dt;
	}

	public void setDt(Date dt) {
		this.dt = dt;
	}
}








