package com.prolog.cs.biz.inbound.dto.task;

import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Description 代管任务池
 * @Author Xiong
 * @Date 2021-04-02
 */

@ApiModel
public class TaskHostedDetailDTO implements Serializable {
	private static final long serialVersionUID = 8745907021471479183L;
	@ApiModelProperty(value = "ID(主键雪花id)", required = true)
	@NotBlank(message = "ID(主键雪花id) can not blank!", groups = validEdit.class)
	private String taskHostedId;

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

	@ApiModelProperty(value = "仓库ID", required = true)
	@NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
	private String warehouseId;

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

	@ApiModelProperty(value = "来源单头ID")
	private String srcHeaderId;

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

	@ApiModelProperty(value = "ASN头ID")
	private String asnHeaderId;

	@ApiModelProperty(value = "ASN行ID")
	private String asnLineId;

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

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

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

	@ApiModelProperty(value = "数量")
	private BigDecimal qty;

	@ApiModelProperty(value = "包装单位", required = true)
	@NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
	private String uom;

	@ApiModelProperty(value = "包装含量", required = true)
	@NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
	private BigDecimal conversionRate;

	@ApiModelProperty(value = "单品数量", required = true)
	@NotNull(message = "单品数量 can not blank!", groups = validAdd.class)
	private BigDecimal pieceQty;

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

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

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

	@ApiModelProperty(value = "是否允许作业标识", required = true)
	@NotBlank(message = "是否允许作业标识 can not blank!", groups = validAdd.class)
	private String activeFlag;

	@ApiModelProperty(value = "余量")
	private BigDecimal remainQty;

	@ApiModelProperty(value = "备注")
	private String comments;

	@ApiModelProperty(value = "结论")
	private String result;

	@ApiModelProperty(value = "原因")
	private String reason;

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

	@ApiModelProperty(value = "执行者")
	private String executor;

	@ApiModelProperty(value = "容器编码")
	private String containerCode;

	@ApiModelProperty(value = "货格编码")
	private String goodsCaseCode;

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

	public String getTaskHostedId() {
		return taskHostedId;
	}

	public void setTaskHostedId(String taskHostedId) {
		this.taskHostedId = taskHostedId;
	}

	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 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 getItemId() {
		return itemId;
	}

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

	public BigDecimal getQty() {
		return qty;
	}

	public void setQty(BigDecimal qty) {
		this.qty = qty;
	}

	public String getUom() {
		return uom;
	}

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

	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 String getBatchId() {
		return batchId;
	}

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

	public String getBatchNum() {
		return batchNum;
	}

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

	public String getVendorBatchNum() {
		return vendorBatchNum;
	}

	public void setVendorBatchNum(String vendorBatchNum) {
		this.vendorBatchNum = vendorBatchNum;
	}

	public String getActiveFlag() {
		return activeFlag;
	}

	public void setActiveFlag(String activeFlag) {
		this.activeFlag = activeFlag;
	}

	public BigDecimal getRemainQty() {
		return remainQty;
	}

	public void setRemainQty(BigDecimal remainQty) {
		this.remainQty = remainQty;
	}

	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public String getManufacturerLotNum() {
		return manufacturerLotNum;
	}

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

	public String getExecutor() {
		return executor;
	}

	public void setExecutor(String executor) {
		this.executor = executor;
	}

	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 getStatus() {
		return status;
	}

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

}
