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

import com.prolog.cs.biz.inbound.vo.SupervisionCodeVO;
import com.prolog.framework.core.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * @Description
 * @Date 2021-07-05
 */

@ApiModel
@Table(value ="WMS_SUPERVISION_CODE" )
public class SupervisionCode implements Serializable {
	private static final long serialVersionUID =  6537384287014396743L;
	@Id
	@AutoKey(type=AutoKey.TYPE_SNOWFLAKE)
	@ApiModelProperty(value = "ID")
	@Column(value = "id")
	private String id;

	@ApiModelProperty(value = "企业ID")
	@Column(value = "enterprise_id")
	private String enterpriseId;

	@ApiModelProperty(value = "仓库CODE")
	@Column(value = "warehouse_code")
	private String warehouseCode;

	@ApiModelProperty(value = "【1.YEZ_ID,业主内码】货主CODE   ")
	@Column(value = "cargo_owner_code")
	private String cargoOwnerCode;

	@ApiModelProperty(value = "【2.RUCKD_NO? 入出库单号】上级单据ID")
	@Column(value = "ref_bill_id")
	private String refBillId;

	@ApiModelProperty(value = "【RUCKD_NO? 入出库单号】上级单据LINE ID")
	@Column(value = "ref_bill_line_id")
	private String refBillLineId;

	@ApiModelProperty(value = "【3.JIANG_CD,监管码】监管码/防串码/唯一码   ")
	@Column(value = "supervision_code")
	private String supervisionCode;

	@ApiModelProperty(value = "【4.操作员名称，CAOZ_STAFF】")
	@Column(value = "scan_name")
	private String scanName;

	@ApiModelProperty(value = "【5.操作日期，OPER_DATE】扫码时间")
	@Column(value = "scan_date")
	private Date scanDate;

	@ApiModelProperty(value = "【6.单位内码（供应商/客户的编码）,取供应商货主客户的编码】")
	@Column(value = "company_code")
	private String companyCode;

	@ApiModelProperty(value = "【7.是否上传码上平台标识  0-未上传 1-已上传 2-上传失败 ")
	@Column(value = "upload_flag")
	private String uploadFlag;

	@ApiModelProperty(value = "上传类型 0-入库 1-出库")
	@Column(value = "upload_type")
	private Integer uploadType;

	@ApiModelProperty(value = "是否已保存小码信息 0-未保存 1-已保存 2-保存失败")
	@Column(value = "down_flag")
	private Integer downFlag;

	@ApiModelProperty(value = "保存监管码操作类型 0-初始 1-入库 2-出库")
	@Column(value = "save_type")
	private Integer saveType;

	@ApiModelProperty(value = "上传监管码对应的客户或者供应商ID")
	@Column(value = "upload_shipp_id")
	private String uploadShippId;

	@ApiModelProperty(value = "客户或者供应商ID对应的码上放心平台企业ID")
	@Column(value = "ent_id")
	private String entId;

	@ApiModelProperty(value = "上传次数")
	@Column(value = "upload_times")
	private Integer uploadTimes;

	@ApiModelProperty(value = "保存小码重试次数")
	@Column(value = "down_times")
	private Integer downTimes;

	@ApiModelProperty(value = "上传监管码返回信息")
	@Column(value = "message")
	private String message;

	@ApiModelProperty(value = "保存小码返回信息")
	@Column(value = "down_message")
	private String downMessage;

	@ApiModelProperty(value = "最后上传时间")
	@Column(value = "last_upload_time")
	private Date lastUploadTime;

	@ApiModelProperty(value = "【8.监管类型 JIANG_TYPE】(业务类型 ；0采购入库， 1销退入库 ，2销售出库)")
	@Column(value = "supervision_type")
	private Integer supervisionType;

	@ApiModelProperty(value = "【9.商品内码，SHANGP_ID】商品编号 ")
	@Column(value = "item_code")
	private String itemCode;

	@ApiModelProperty(value = "【10.分配单编号(预留)】")
	@Column(value = "pick_task_no")
	private String pickTaskNo;

	@ApiModelProperty(value = "【11.TIAOM_TYPE】条码类型（1:监管码  2：防串码  3：唯一码）【条码类型，TIAOM_TYPE】")
	@Column(value = "code_type")
	private String codeType;

	@ApiModelProperty(value = "【12.BZLB】包装级别(0大包装，1中包装，2小包装)【包装类别，BZLB】")
	@Column(value = "pack_level")
	private String packLevel;

	@ApiModelProperty(value = "【13.批号 PHID】批号 ")
	@Column(value = "manufacturer_lot_num")
	private String manufacturerLotNum;

	@ApiModelProperty(value = "【14.状态(预留)】（10：初始，20：已上传）")
	@Column(value = "status")
	private String status;

	@ApiModelProperty(value = "【15.ERP单据编号(预留)流水号】 ")
	@Column(value = "billno")
	private String billno;

	@ApiModelProperty(value = "【16.ERP细单行号(预留)行ID】 ")
	@Column(value = "lineno")
	private String lineno;

	@ApiModelProperty(value = "单据类型")
	@Column(value = "bill_type")
	private String billType;



	@ApiModelProperty(value = "扫码阶段：0=入库质检 1=PC拣货 2=PC内复核 3=PC外复核 4=补录 5=PDA拣货 6=PDA内复核 7=PDA外复核")
	@Column(value = "stage")
	private Integer stage;

	@ApiModelProperty(value = "商品ID")
	@Column(value = "item_id")
	private String itemId;

	@ApiModelProperty(value = "商品名称")
	@Column(value = "item_name")
	private String itemName;

	@ApiModelProperty(value = "生成日期")
	@Column(value = "production_date")
	private Date productionDate;

	@ApiModelProperty(value = "有效期至")
	@Column(value = "expired_date")
	private Date expiredDate;

	@ApiModelProperty(value = "包装数量")
	@Column(value = "pack_size")
	private String packSize;

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

	@ApiModelProperty(value = "供应商编码")
	@Column(value = "supplier_code")
	private String supplierCode;

	@ApiModelProperty(value = "客户号")
	@Column(value = "shipper_code")
	private String shipperCode;

	@ApiModelProperty(value = "数量")
	@Column(value = "piece_qty")
	private String pieceQty;

	@ApiModelProperty(value = "货位CODE")
	@Column(value = "locator_code")
	private String locatorCode;

	@ApiModelProperty(value = "库别编码")
	@Column(value = "wh_area_category_code")
	private String whAreaCategoryCode;

	@ApiModelProperty(value = "创建日期")
	@Column(value = "gmt_create")
	private Date gmtCreate;

	@ApiModelProperty(value = "创建人")
	@Column(value = "creator")
	private String creator;

	@ApiModelProperty(value = "创建人")
	@Column(value = "creator_name")
	private String creatorName;

	@ApiModelProperty(value = "最后修改日期")
	@Column(value = "gmt_modified")
	private Date gmtModified;

	@ApiModelProperty(value = "最后修改人")
	@Column(value = "modifier")
	private String modifier;

	@ApiModelProperty(value = "最后修改人")
	@Column(value = "modifier_name")
	private String modifierName;

	@ApiModelProperty(value = "仓配中心ID")
	@Column(value = "dc_id")
	private String dcId;

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

	@ApiModelProperty(value = "货主ID")
	@Column(value = "cargo_owner_id")
	private String cargoOwnerId;

	@ApiModelProperty(value = "是否解锁：0=否 1=是")
	@Column(value = "unlock")
	private Integer unlock;

	@ApiModelProperty(value = "货位ID")
	@Column(value = "locator_id")
	private String locatorId;

	@Column(value = "supplier_id")
	private String supplierId;

	@ApiModelProperty(value = "收货单位(客户)id")
	@Column(value = "shipper_id")
	private String shipperId;

	@ApiModelProperty(value = "来源单编码")
	@Column(value = "src_code")
	private String srcCode;

	@ApiModelProperty(value = "货主")
	@Ignore
	private String consignorId;

	@Ignore
	@ApiModelProperty(value = "小包装数", position = -3)
	private String minSu;

	@Ignore
	@ApiModelProperty(value = "中包装数", position = -3)
	private String middleSu;

	@Ignore
	@ApiModelProperty(value = "大包装数", position = -3)
	private String maxSu;

	// 实扫数量
	@Ignore
	@ApiModelProperty(value = "实扫数量")
	private String actualQuantity;

	// 拒收数量
	@Ignore
	@ApiModelProperty(value = "拒收数量")
	private BigDecimal rejectQty;

	@Ignore
	@ApiModelProperty(value = "收货数量")
	private BigDecimal receiveQty;

	@Ignore
	@ApiModelProperty(value = "源单ID")
	private String srcId;

	@Ignore
	@ApiModelProperty(value = "源单行ID")
	private String srcLineId;

	@Ignore
	@ApiModelProperty(value = "实扫大包装数")
	private String maxScanedQty;

	@Ignore
	@ApiModelProperty(value = "实扫中包装数")
	private String middleScanedQty;

	@Ignore
	@ApiModelProperty(value = "实扫小包装数")
	private String minScanedQty;

	@Ignore
	@ApiModelProperty(value = "是否解锁")
	private Integer isUnlock;

	@Ignore
	@ApiModelProperty(value = "批号")
	private String lotNo;

	@Ignore
	@ApiModelProperty(value = "来源：out出库")
	private String source;

	@Ignore
	@ApiModelProperty(value = "收货单明细id", position = -3)
	private String asnLineId;

	@Ignore
	@ApiModelProperty(value = "有效期至")
	private String batchExpiredDate;

	@Ignore
	@ApiModelProperty(value = "生产日期")
	private String batchProductionDate;

	@Ignore
	@ApiModelProperty(value = "其他选中行的上级单据ID/上级单据LINE ID")
	private List<SupervisionCodeVO> otherSelectBillList;

	public List<SupervisionCodeVO> getOtherSelectBillList() {
		return otherSelectBillList;
	}

	public void setOtherSelectBillList(List<SupervisionCodeVO> otherSelectBillList) {
		this.otherSelectBillList = otherSelectBillList;
	}

	public String getMaxScanedQty() {
		return maxScanedQty;
	}

	public void setMaxScanedQty(String maxScanedQty) {
		this.maxScanedQty = maxScanedQty;
	}

	public String getMiddleScanedQty() {
		return middleScanedQty;
	}

	public void setMiddleScanedQty(String middleScanedQty) {
		this.middleScanedQty = middleScanedQty;
	}

	public String getMinScanedQty() {
		return minScanedQty;
	}

	public void setMinScanedQty(String minScanedQty) {
		this.minScanedQty = minScanedQty;
	}

	public String getSrcId() {
		return srcId;
	}

	public void setSrcId(String srcId) {
		this.srcId = srcId;
	}

	public String getSrcLineId() {
		return srcLineId;
	}

	public void setSrcLineId(String srcLineId) {
		this.srcLineId = srcLineId;
	}

	public String getActualQuantity() {
		return actualQuantity;
	}

	public void setActualQuantity(String actualQuantity) {
		this.actualQuantity = actualQuantity;
	}

	public String getMinSu() {
		return minSu;
	}

	public void setMinSu(String minSu) {
		this.minSu = minSu;
	}

	public String getMiddleSu() {
		return middleSu;
	}

	public void setMiddleSu(String middleSu) {
		this.middleSu = middleSu;
	}

	public String getMaxSu() {
		return maxSu;
	}

	public void setMaxSu(String maxSu) {
		this.maxSu = maxSu;
	}

	public String getSrcCode() {
		return srcCode;
	}

	public void setSrcCode(String srcCode) {
		this.srcCode = srcCode;
	}

	public String getConsignorId() {
		return consignorId;
	}

	public void setConsignorId(String consignorId) {
		this.consignorId = consignorId;
	}

	public String getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(String supplierId) {
		this.supplierId = supplierId;
	}

	public String getShipperId() {
		return shipperId;
	}

	public void setShipperId(String shipperId) {
		this.shipperId = shipperId;
	}

	public String getId() {
		return this.id;
	}

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

	public String getEnterpriseId() {
		return this.enterpriseId;
	}

	public void setEnterpriseId(String enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getWarehouseCode() {
		return this.warehouseCode;
	}

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

	public String getCargoOwnerCode() {
		return this.cargoOwnerCode;
	}

	public void setCargoOwnerCode(String cargoOwnerCode) {
		this.cargoOwnerCode = cargoOwnerCode;
	}

	public String getRefBillId() {
		return this.refBillId;
	}

	public void setRefBillId(String refBillId) {
		this.refBillId = refBillId;
	}

	public String getRefBillLineId() {
		return this.refBillLineId;
	}

	public void setRefBillLineId(String refBillLineId) {
		this.refBillLineId = refBillLineId;
	}

	public String getSupervisionCode() {
		return this.supervisionCode;
	}

	public void setSupervisionCode(String supervisionCode) {
		this.supervisionCode = supervisionCode;
	}

	public String getScanName() {
		return this.scanName;
	}

	public void setScanName(String scanName) {
		this.scanName = scanName;
	}

	public Date getScanDate() {
		return this.scanDate;
	}

	public void setScanDate(Date scanDate) {
		this.scanDate = scanDate;
	}

	public String getCompanyCode() {
		return this.companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}

	public String getUploadFlag() {
		return this.uploadFlag;
	}

	public void setUploadFlag(String uploadFlag) {
		this.uploadFlag = uploadFlag;
	}

	public Integer getSupervisionType() {
		return this.supervisionType;
	}

	public void setSupervisionType(Integer supervisionType) {
		this.supervisionType = supervisionType;
	}

	public String getItemCode() {
		return this.itemCode;
	}

	public void setItemCode(String itemCode) {
		this.itemCode = itemCode;
	}

	public String getPickTaskNo() {
		return this.pickTaskNo;
	}

	public void setPickTaskNo(String pickTaskNo) {
		this.pickTaskNo = pickTaskNo;
	}

	public String getCodeType() {
		return this.codeType;
	}

	public void setCodeType(String codeType) {
		this.codeType = codeType;
	}

	public String getPackLevel() {
		return this.packLevel;
	}

	public void setPackLevel(String packLevel) {
		this.packLevel = packLevel;
	}

	public String getManufacturerLotNum() {
		return this.manufacturerLotNum;
	}

	public void setManufacturerLotNum(String manufacturerLotNum) {
		this.manufacturerLotNum = manufacturerLotNum;
	}

	public String getStatus() {
		return this.status;
	}

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

	public String getBillno() {
		return this.billno;
	}

	public void setBillno(String billno) {
		this.billno = billno;
	}

	public String getLineno() {
		return this.lineno;
	}

	public void setLineno(String lineno) {
		this.lineno = lineno;
	}

	public String getBillType() {
		return this.billType;
	}

	public void setBillType(String billType) {
		this.billType = billType;
	}

	public Integer getStage() {
		return this.stage;
	}

	public void setStage(Integer stage) {
		this.stage = stage;
	}

	public String getItemId() {
		return this.itemId;
	}

	public void setItemId(String itemId) {
		this.itemId = itemId;
	}

	public String getItemName() {
		return this.itemName;
	}

	public void setItemName(String itemName) {
		this.itemName = itemName;
	}

	public Date getProductionDate() {
		return this.productionDate;
	}

	public void setProductionDate(Date productionDate) {
		this.productionDate = productionDate;
	}

	public Date getExpiredDate() {
		return this.expiredDate;
	}

	public void setExpiredDate(Date expiredDate) {
		this.expiredDate = expiredDate;
	}

	public String getPackSize() {
		return this.packSize;
	}

	public void setPackSize(String packSize) {
		this.packSize = packSize;
	}

	public String getContainerCode() {
		return this.containerCode;
	}

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

	public String getSupplierCode() {
		return this.supplierCode;
	}

	public void setSupplierCode(String supplierCode) {
		this.supplierCode = supplierCode;
	}

	public String getShipperCode() {
		return this.shipperCode;
	}

	public void setShipperCode(String shipperCode) {
		this.shipperCode = shipperCode;
	}

	public String getPieceQty() {
		return this.pieceQty;
	}

	public void setPieceQty(String pieceQty) {
		this.pieceQty = pieceQty;
	}

	public String getLocatorCode() {
		return this.locatorCode;
	}

	public void setLocatorCode(String locatorCode) {
		this.locatorCode = locatorCode;
	}

	public String getWhAreaCategoryCode() {
		return this.whAreaCategoryCode;
	}

	public void setWhAreaCategoryCode(String whAreaCategoryCode) {
		this.whAreaCategoryCode = whAreaCategoryCode;
	}

	public Date getGmtCreate() {
		return this.gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public String getCreator() {
		return this.creator;
	}

	public void setCreator(String creator) {
		this.creator = creator;
	}

	public String getCreatorName() {
		return this.creatorName;
	}

	public void setCreatorName(String creatorName) {
		this.creatorName = creatorName;
	}

	public Date getGmtModified() {
		return this.gmtModified;
	}

	public void setGmtModified(Date gmtModified) {
		this.gmtModified = gmtModified;
	}

	public String getModifier() {
		return this.modifier;
	}

	public void setModifier(String modifier) {
		this.modifier = modifier;
	}

	public String getModifierName() {
		return this.modifierName;
	}

	public void setModifierName(String modifierName) {
		this.modifierName = modifierName;
	}

	public String getDcId() {
		return this.dcId;
	}

	public void setDcId(String dcId) {
		this.dcId = dcId;
	}

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

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

	public String getCargoOwnerId() {
		return this.cargoOwnerId;
	}

	public void setCargoOwnerId(String cargoOwnerId) {
		this.cargoOwnerId = cargoOwnerId;
	}

	public Integer getUnlock() {
		return this.unlock;
	}

	public void setUnlock(Integer unlock) {
		this.unlock = unlock;
	}

	public String getLocatorId() {
		return this.locatorId;
	}

	public void setLocatorId(String locatorId) {
		this.locatorId = locatorId;
	}

	public Integer getIsUnlock() {
		return isUnlock;
	}

	public void setIsUnlock(Integer isUnlock) {
		this.isUnlock = isUnlock;
	}

	public Integer getUploadTimes() {
		return uploadTimes;
	}

	public void setUploadTimes(Integer uploadTimes) {
		this.uploadTimes = uploadTimes;
	}

	public Date getLastUploadTime() {
		return lastUploadTime;
	}

	public void setLastUploadTime(Date lastUploadTime) {
		this.lastUploadTime = lastUploadTime;
	}

	public BigDecimal getRejectQty() {
		return rejectQty;
	}

	public void setRejectQty(BigDecimal rejectQty) {
		this.rejectQty = rejectQty;
	}

	public BigDecimal getReceiveQty() {
		return receiveQty;
	}

	public void setReceiveQty(BigDecimal receiveQty) {
		this.receiveQty = receiveQty;
	}

	public String getLotNo() {
		return lotNo;
	}

	public void setLotNo(String lotNo) {
		this.lotNo = lotNo;
	}

	public String getSource() {
		return source;
	}

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

	public String getAsnLineId() {
		return asnLineId;
	}

	public void setAsnLineId(String asnLineId) {
		this.asnLineId = asnLineId;
	}

	public Integer getUploadType() {
		return uploadType;
	}

	public void setUploadType(Integer uploadType) {
		this.uploadType = uploadType;
	}

	public String getUploadShippId() {
		return uploadShippId;
	}

	public void setUploadShippId(String uploadShippId) {
		this.uploadShippId = uploadShippId;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public Integer getDownFlag() {
		return downFlag;
	}

	public void setDownFlag(Integer downFlag) {
		this.downFlag = downFlag;
	}

	public Integer getSaveType() {
		return saveType;
	}

	public void setSaveType(Integer saveType) {
		this.saveType = saveType;
	}

	public String getBatchExpiredDate() {
		return batchExpiredDate;
	}

	public void setBatchExpiredDate(String batchExpiredDate) {
		this.batchExpiredDate = batchExpiredDate;
	}

	public String getBatchProductionDate() {
		return batchProductionDate;
	}

	public void setBatchProductionDate(String batchProductionDate) {
		this.batchProductionDate = batchProductionDate;
	}

	public String getEntId() {
		return entId;
	}

	public void setEntId(String entId) {
		this.entId = entId;
	}

	public Integer getDownTimes() {
		return downTimes;
	}

	public void setDownTimes(Integer downTimes) {
		this.downTimes = downTimes;
	}

	public String getDownMessage() {
		return downMessage;
	}

	public void setDownMessage(String downMessage) {
		this.downMessage = downMessage;
	}
}
