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

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_rqc_lines", appendDefaultJdbcType = true, camelToUnderline = true)
public class RqcLines extends BaseModel implements Serializable {
	private static final long serialVersionUID = 2232861175071092547L;
	@Id
	@AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
	/** 唯一行号ID(主键雪花id) **/
	@ApiModelProperty(value = "唯一行号ID(主键雪花id)")
	private String rqcLineId;

	/** 单据id **/
	@ApiModelProperty(value = "单据id")
	private String rqcHeaderId;

	/** 质检任务池ID（来源RQC_TASK） **/
	@ApiModelProperty(value = "质检任务池ID（来源RQC_TASK）")
	private String taskRqcId;

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

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

	/** 货主ID（冗余，关联收货单） **/
	@ApiModelProperty(value = "货主ID（冗余，关联收货单）")
	private String mtlOwnerId;

	/** 仓库ID（冗余，关联收货单） **/
	@ApiModelProperty(value = "仓库ID（冗余，关联收货单）")
	private String warehouseId;

	/** 来源单类型（冗余，关联收货单） **/
	@ApiModelProperty(value = "来源单类型（冗余，关联收货单）")
	private String srcBillType;

	/** 来源单头ID（冗余，关联收货单） **/
	@ApiModelProperty(value = "来源单头ID（冗余，关联收货单）")
	private String srcHeaderId;

	/** 来源单行ID（冗余，关联收货单） **/
	@ApiModelProperty(value = "来源单行ID（冗余，关联收货单）")
	private String srcLineId;

	/** ASN头ID（冗余，关联收货单） **/
	@ApiModelProperty(value = "ASN头ID（冗余，关联收货单）")
	private String asnHeaderId;

	/** ASN行ID（冗余，关联收货单） **/
	@ApiModelProperty(value = "ASN行ID（冗余，关联收货单）")
	private String asnLineId;

	/** 商品ID **/
	@ApiModelProperty(value = "商品ID")
	private String itemId;

	/** 容器编码（冗余，关联收货单行） **/
	@ApiModelProperty(value = "容器编码（冗余，关联收货单行）")
	private String containerCode;

	/** 货格编码（冗余，关联收货单行） **/
	@ApiModelProperty(value = "货格编码（冗余，关联收货单行）")
	private String goodsCaseCode;

	/** 批次ID **/
	@ApiModelProperty(value = "批次ID")
	private String batchId;

	/** 包装单位 **/
	@ApiModelProperty(value = "包装单位")
	private String uom;

	/** 包装单位类型(2019/2020)新老包装 **/
	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
	private String uomType;

	/** 包装含量 **/
	@ApiModelProperty(value = "包装含量")
	private BigDecimal conversionRate;

	/** 最小单位数量 **/
	@ApiModelProperty(value = "最小单位数量")
	private BigDecimal pieceQty;

	/** 收货整箱数 **/
	@ApiModelProperty(value = "收货整箱数")
	private BigDecimal oddCaseQty;

	/** 收货零散数 **/
	@ApiModelProperty(value = "收货零散数")
	private BigDecimal oddPieceQty;

	/** 抽样整箱数 **/
	@ApiModelProperty(value = "抽样整箱数")
	private BigDecimal qcOddCaseQty;

	/** 抽样零散数 **/
	@ApiModelProperty(value = "抽样零散数")
	private BigDecimal qcOddPieceQty;

	/** 实际抽样整箱数 **/
	@ApiModelProperty(value = "实际抽样整箱数")
	private BigDecimal qcOddCaseActQty;

	/** 实际抽样零散数 **/
	@ApiModelProperty(value = "实际抽样零散数")
	private BigDecimal qcOddPieceActQty;

	/** 行备注 **/
	@ApiModelProperty(value = "行备注")
	private String lineRemark;

	/** 质检状态（初始/确认） **/
	@ApiModelProperty(value = "质检状态（初始/确认）")
	private String qcStatus1;

	/** 质检结论1（0合格/1不合格/2待处理/3拒绝） **/
	@ApiModelProperty(value = "质检结论1（0合格/1不合格/2待处理/3拒绝）")
	private String qcResult1;

	/** 质检原因1 **/
	@ApiModelProperty(value = "质检原因1")
	private String qcReason1;

	/** 质检等级1 **/
	@ApiModelProperty(value = "质检等级1")
	private String qcGrade1;

	/** 质检员1 **/
	@ApiModelProperty(value = "质检员1")
	private String qcOpcode1;

	/** 质检时间1 **/
	@ApiModelProperty(value = "质检时间1")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date qcDate1;

	/** 质检状态2（初始/确认） **/
	@ApiModelProperty(value = "质检状态2（初始/确认）")
	private String qcStatus2;

	/** 质检结论2（0合格/1不合格/2待处理/3拒绝） **/
	@ApiModelProperty(value = "质检结论2（0合格/1不合格/2待处理/3拒绝）")
	private String qcResult2;

	/** 质检原因2 **/
	@ApiModelProperty(value = "质检原因2")
	private String qcReason2;

	/** 质检等级2 **/
	@ApiModelProperty(value = "质检等级2")
	private String qcGrade2;

	/** 质检员2 **/
	@ApiModelProperty(value = "质检员2")
	private String qcOpcode2;

	/** 质检状态2（初始/确认） **/
	@ApiModelProperty(value = "质检状态2（初始/确认）")
	private String qcStatus3;

	/** 质检结论2（0合格/1不合格/2待处理/3拒绝） **/
	@ApiModelProperty(value = "质检结论2（0合格/1不合格/2待处理/3拒绝）")
	private String qcResult3;

	/** 质检原因3 **/
	@ApiModelProperty(value = "质检原因3")
	private String qcReason3;

	/** 质检等级3 **/
	@ApiModelProperty(value = "质检等级3")
	private String qcGrade3;

	/** 质检员3 **/
	@ApiModelProperty(value = "质检员3")
	private String qcOpcode3;

	/** 质检时间2 **/
	@ApiModelProperty(value = "质检时间2")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date qcDate2;

	/** 质检时间3 **/
	@ApiModelProperty(value = "质检时间3")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date qcDate3;

	/** 库存状态(质检状态) **/
	@ApiModelProperty(value = "库存状态(质检状态)")
	private String stockStatus;

	/** 货品标志 **/
	@ApiModelProperty(value = "货品标志")
	private String itemFlag;

	/** 质检次数 **/
	@ApiModelProperty(value = "质检次数")
	private Integer times;

	@ApiModelProperty(value = "双人业务类型(0:正常 1：双人验收，默认正常)")
	private Integer itemHealthIsDouble;

	@ApiModelProperty(value = "生产商批号")
	private String manufacturerLotNum;

	@ApiModelProperty(value = "批次号")
	private String batchNum;

	// ================新增字段5.12=================================
	@ApiModelProperty(value = "实际库别")
	private String whAreaCategory;

	@ApiModelProperty(value = "实际库区编号(逗号分隔集合)")
	private String whAreaCodes;

	// 处理意见
	@ApiModelProperty(value = "(新)处理意见", position = -2)
	private String handlingSuggestion;
	// 不足原因
	@ApiModelProperty(value = "(新)不足原因(码表)", position = -2)
	private String defReason;
	// 抽样日期
	@ApiModelProperty(value = "抽样日期", position = -2)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date sampleDate;

	@ApiModelProperty(value = "(新)抽样id", position = -2)
	private String rqcSampleId;

	@ApiModelProperty(value = "(新)处理原因(码表)", position = -2)
	private String handlingReason;
	@ApiModelProperty(value = "(新)不足原因补充", position = -2)
	private String defReasonExt;
	@ApiModelProperty(value = "(新)处理措施(码表)", position = -2)
	private String handlingMeasure;
	// ====================6.10新加字段=================================
	// 提货说明
	@ApiModelProperty(value = "(新)提货说明", position = -1110)
	private String pickGoodsExplain;

	@ApiModelProperty(value = "(新)退货类型(码表rcv_return_type)", position = -1110)
	private String returnType;

	// 来源行id
	@ApiModelProperty(value = "(新)入库来源行id", position = -1111)
	private String refLineId;

	// 来源类型
	@ApiModelProperty(value = "(新)入库来源类型(0收货1质检2复检)", position = -1111)
	private Integer refType;
	
	@ApiModelProperty(value = "(新)验收温度", position = -1110)
	private String rqcTemperature;
	
	@ApiModelProperty(value = "二级库存(id&code)", position = -1111)
	private String secondStatus;
	
	public String getSecondStatus() {
		return secondStatus;
	}

	public void setSecondStatus(String secondStatus) {
		this.secondStatus = secondStatus;
	}

	public String getRqcTemperature() {
		return rqcTemperature;
	}

	public void setRqcTemperature(String rqcTemperature) {
		this.rqcTemperature = rqcTemperature;
	}

	public Integer getRefType() {
		return refType;
	}

	public void setRefType(Integer refType) {
		this.refType = refType;
	}

	public String getRefLineId() {
		return refLineId;
	}

	public void setRefLineId(String refLineId) {
		this.refLineId = refLineId;
	}

	public String getReturnType() {
		return returnType;
	}

	public void setReturnType(String returnType) {
		this.returnType = returnType;
	}

	public String getPickGoodsExplain() {
		return pickGoodsExplain;
	}

	public void setPickGoodsExplain(String pickGoodsExplain) {
		this.pickGoodsExplain = pickGoodsExplain;
	}

	public String getHandlingReason() {
		return handlingReason;
	}

	public void setHandlingReason(String handlingReason) {
		this.handlingReason = handlingReason;
	}

	public String getDefReasonExt() {
		return defReasonExt;
	}

	public void setDefReasonExt(String defReasonExt) {
		this.defReasonExt = defReasonExt;
	}

	public String getHandlingMeasure() {
		return handlingMeasure;
	}

	public void setHandlingMeasure(String handlingMeasure) {
		this.handlingMeasure = handlingMeasure;
	}

	public String getRqcSampleId() {
		return rqcSampleId;
	}

	public void setRqcSampleId(String rqcSampleId) {
		this.rqcSampleId = rqcSampleId;
	}

	public String getHandlingSuggestion() {
		return handlingSuggestion;
	}

	public void setHandlingSuggestion(String handlingSuggestion) {
		this.handlingSuggestion = handlingSuggestion;
	}

	public String getDefReason() {
		return defReason;
	}

	public void setDefReason(String defReason) {
		this.defReason = defReason;
	}

	public Date getSampleDate() {
		return sampleDate;
	}

	public void setSampleDate(Date sampleDate) {
		this.sampleDate = sampleDate;
	}

	public String getWhAreaCategory() {
		return whAreaCategory;
	}

	public void setWhAreaCategory(String whAreaCategory) {
		this.whAreaCategory = whAreaCategory;
	}

	public String getWhAreaCodes() {
		return whAreaCodes;
	}

	public void setWhAreaCodes(String whAreaCodes) {
		this.whAreaCodes = whAreaCodes;
	}

	public String getRqcLineId() {
		return rqcLineId;
	}

	public void setRqcLineId(String rqcLineId) {
		this.rqcLineId = rqcLineId;
	}

	public String getRqcHeaderId() {
		return rqcHeaderId;
	}

	public void setRqcHeaderId(String rqcHeaderId) {
		this.rqcHeaderId = rqcHeaderId;
	}

	public String getTaskRqcId() {
		return taskRqcId;
	}

	public void setTaskRqcId(String taskRqcId) {
		this.taskRqcId = taskRqcId;
	}

	public String getRcvHeaderId() {
		return rcvHeaderId;
	}

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

	public String getRcvLineId() {
		return rcvLineId;
	}

	public void setRcvLineId(String rcvLineId) {
		this.rcvLineId = rcvLineId;
	}

	public String getMtlOwnerId() {
		return mtlOwnerId;
	}

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

	public String getWarehouseId() {
		return warehouseId;
	}

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

	public String getSrcBillType() {
		return srcBillType;
	}

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

	public String getSrcHeaderId() {
		return srcHeaderId;
	}

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

	public String getSrcLineId() {
		return srcLineId;
	}

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

	public String getAsnHeaderId() {
		return asnHeaderId;
	}

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

	public String getAsnLineId() {
		return asnLineId;
	}

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

	public String getItemId() {
		return itemId;
	}

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

	public String getContainerCode() {
		return containerCode;
	}

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

	public String getGoodsCaseCode() {
		return goodsCaseCode;
	}

	public void setGoodsCaseCode(String goodsCaseCode) {
		this.goodsCaseCode = goodsCaseCode;
	}

	public String getBatchId() {
		return batchId;
	}

	public void setBatchId(String batchId) {
		this.batchId = batchId;
	}

	public String getUom() {
		return uom;
	}

	public void setUom(String uom) {
		this.uom = uom;
	}

	public String getUomType() {
		return uomType;
	}

	public void setUomType(String uomType) {
		this.uomType = uomType;
	}

	public BigDecimal getConversionRate() {
		return conversionRate;
	}

	public void setConversionRate(BigDecimal conversionRate) {
		this.conversionRate = conversionRate;
	}

	public BigDecimal getPieceQty() {
		return pieceQty;
	}

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

	public BigDecimal getOddCaseQty() {
		return oddCaseQty;
	}

	public void setOddCaseQty(BigDecimal oddCaseQty) {
		this.oddCaseQty = oddCaseQty;
	}

	public BigDecimal getOddPieceQty() {
		return oddPieceQty;
	}

	public void setOddPieceQty(BigDecimal oddPieceQty) {
		this.oddPieceQty = oddPieceQty;
	}

	public BigDecimal getQcOddCaseQty() {
		return qcOddCaseQty;
	}

	public void setQcOddCaseQty(BigDecimal qcOddCaseQty) {
		this.qcOddCaseQty = qcOddCaseQty;
	}

	public BigDecimal getQcOddPieceQty() {
		return qcOddPieceQty;
	}

	public void setQcOddPieceQty(BigDecimal qcOddPieceQty) {
		this.qcOddPieceQty = qcOddPieceQty;
	}

	public BigDecimal getQcOddCaseActQty() {
		return qcOddCaseActQty;
	}

	public void setQcOddCaseActQty(BigDecimal qcOddCaseActQty) {
		this.qcOddCaseActQty = qcOddCaseActQty;
	}

	public BigDecimal getQcOddPieceActQty() {
		return qcOddPieceActQty;
	}

	public void setQcOddPieceActQty(BigDecimal qcOddPieceActQty) {
		this.qcOddPieceActQty = qcOddPieceActQty;
	}

	public String getLineRemark() {
		return lineRemark;
	}

	public void setLineRemark(String lineRemark) {
		this.lineRemark = lineRemark;
	}

	public String getQcStatus1() {
		return qcStatus1;
	}

	public void setQcStatus1(String qcStatus1) {
		this.qcStatus1 = qcStatus1;
	}

	public String getQcResult1() {
		return qcResult1;
	}

	public void setQcResult1(String qcResult1) {
		this.qcResult1 = qcResult1;
	}

	public String getQcReason1() {
		return qcReason1;
	}

	public void setQcReason1(String qcReason1) {
		this.qcReason1 = qcReason1;
	}

	public String getQcGrade1() {
		return qcGrade1;
	}

	public void setQcGrade1(String qcGrade1) {
		this.qcGrade1 = qcGrade1;
	}

	public String getQcOpcode1() {
		return qcOpcode1;
	}

	public void setQcOpcode1(String qcOpcode1) {
		this.qcOpcode1 = qcOpcode1;
	}

	public Date getQcDate1() {
		return qcDate1;
	}

	public void setQcDate1(Date qcDate1) {
		this.qcDate1 = qcDate1;
	}

	public String getQcStatus2() {
		return qcStatus2;
	}

	public void setQcStatus2(String qcStatus2) {
		this.qcStatus2 = qcStatus2;
	}

	public String getQcResult2() {
		return qcResult2;
	}

	public void setQcResult2(String qcResult2) {
		this.qcResult2 = qcResult2;
	}

	public String getQcReason2() {
		return qcReason2;
	}

	public void setQcReason2(String qcReason2) {
		this.qcReason2 = qcReason2;
	}

	public String getQcGrade2() {
		return qcGrade2;
	}

	public void setQcGrade2(String qcGrade2) {
		this.qcGrade2 = qcGrade2;
	}

	public String getQcOpcode2() {
		return qcOpcode2;
	}

	public void setQcOpcode2(String qcOpcode2) {
		this.qcOpcode2 = qcOpcode2;
	}

	public String getQcStatus3() {
		return qcStatus3;
	}

	public void setQcStatus3(String qcStatus3) {
		this.qcStatus3 = qcStatus3;
	}

	public String getQcResult3() {
		return qcResult3;
	}

	public void setQcResult3(String qcResult3) {
		this.qcResult3 = qcResult3;
	}

	public String getQcReason3() {
		return qcReason3;
	}

	public void setQcReason3(String qcReason3) {
		this.qcReason3 = qcReason3;
	}

	public String getQcGrade3() {
		return qcGrade3;
	}

	public void setQcGrade3(String qcGrade3) {
		this.qcGrade3 = qcGrade3;
	}

	public String getQcOpcode3() {
		return qcOpcode3;
	}

	public void setQcOpcode3(String qcOpcode3) {
		this.qcOpcode3 = qcOpcode3;
	}

	public Date getQcDate2() {
		return qcDate2;
	}

	public void setQcDate2(Date qcDate2) {
		this.qcDate2 = qcDate2;
	}

	public Date getQcDate3() {
		return qcDate3;
	}

	public void setQcDate3(Date qcDate3) {
		this.qcDate3 = qcDate3;
	}

	public String getStockStatus() {
		return stockStatus;
	}

	public void setStockStatus(String stockStatus) {
		this.stockStatus = stockStatus;
	}

	public String getItemFlag() {
		return itemFlag;
	}

	public void setItemFlag(String itemFlag) {
		this.itemFlag = itemFlag;
	}

	public Integer getTimes() {
		return times;
	}

	public void setTimes(Integer times) {
		this.times = times;
	}

	public Integer getItemHealthIsDouble() {
		return itemHealthIsDouble;
	}

	public void setItemHealthIsDouble(Integer itemHealthIsDouble) {
		this.itemHealthIsDouble = itemHealthIsDouble;
	}

	public String getManufacturerLotNum() {
		return manufacturerLotNum;
	}

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

	public String getBatchNum() {
		return batchNum;
	}

	public void setBatchNum(String batchNum) {
		this.batchNum = batchNum;
	}

}
