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

import com.fasterxml.jackson.annotation.JsonFormat;
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;

/**
 * 收货头列表展示类
 * 
 * @author Xiong
 *
 */
@ApiModel
public class RcvHDTO implements Serializable {

	private static final long serialVersionUID = 6829236531872685503L;

	@ApiModelProperty(value = "asn单号", hidden = true)
	private String asnAutoBillNum;

	@ApiModelProperty(value = "收货单号", position = -4)
	private String rcvNo;

	@ApiModelProperty(value = "收货日期")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date rcvDate;

	@ApiModelProperty(value = "收货日期")
	private String rcvDateStr;

	@ApiModelProperty(value = "仓库名称(查询字段)", position = 1)
	private String warehouseName;

	@ApiModelProperty(value = "货主名称(查询字段)", position = 1)
	private String mtlOwnerName;

	@ApiModelProperty(value = "单位名称(查询字段)", position = 1)
	private String vendorName;

	@ApiModelProperty(value = "订单类型名称")
	private String rcvTypeName;

	@ApiModelProperty(value = "收货员", position = -4)
	private String rcvUser;

	@ApiModelProperty(value = "收货备注", position = -4)
	private String rcvRemark;

	@ApiModelProperty(value = "收货单头ID(主键雪花id)")
	private String rcvHeaderId;

	@ApiModelProperty(value = "自动单号")
	private String autoBillNum;

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

	@ApiModelProperty(value = "执行者（收货员）")
	private String executorUser;

	@ApiModelProperty(value = "收货类型")
	private String rcvType;

	@ApiModelProperty(value = "箱数")
	private BigDecimal caseQty;

	@ApiModelProperty(value = "单品数量", required = true)
	private BigDecimal pieceQty;

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

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

	@ApiModelProperty(value = "审核时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date auditDate;

	@ApiModelProperty(value = "打印次数")
	private BigDecimal printCount;

	@ApiModelProperty(value = "打印日期")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date printDate;

	@ApiModelProperty(value = "审核人名称")
	private String auditedName;

	@ApiModelProperty(value = "打印人名称")
	private String printedName;

	@ApiModelProperty(value = "批准人名称")
	private String confirmedName;

	@ApiModelProperty(value = "批准时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date confirmDate;

	@ApiModelProperty(value = "访问级别")
	private String accessLevel;

	@ApiModelProperty(value = "来源单ID列表(ASN)()", hidden = true)
	private String asnHeaderId;

	@ApiModelProperty(value = "仓库ID", hidden = true)
	private String warehouseId;

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

	@ApiModelProperty(value = "供应商ID")
	private String vendorId;

	@ApiModelProperty(value = "来源单ID", hidden = true)
	private String srcHeaderId;

	@ApiModelProperty(value = "来源单类型", hidden = true)
	private String srcBillType;
	// =================================================================
	// profile字段

	@ApiModelProperty(value = "到货方式(查询字段)", position = 1)
	private String arrivalMode;


	@ApiModelProperty(value = "采购员名称(查询字段)", position = 1)
	private String buyerMane;

	@ApiModelProperty(value = "客户名称(查询字段)", position = 1)
	private String customerName;


	// ====================6.10新加字段============
	@ApiModelProperty(value = "asn单备注说明", position = -4)
	private String asnRemark;
	@ApiModelProperty(value = "(新)要货部门", position = -4)
	private String needDept;
	@ApiModelProperty(value = "(新)要货业务员", position = -4)
	private String needUser;
	@ApiModelProperty(value = "(新)代理商", position = -4)
	private String agent;
	@ApiModelProperty(value = "(新)货主", position = -4)
	private String mtlOwnerNum;
	@ApiModelProperty(value = "(新)asn单号(原单据号)", position = -4)
	private String asnBillNum;

	@ApiModelProperty(value = "(新)供应商编码", position = -41)
	private String vendorNum;

	@ApiModelProperty(value = "(新)单位助记码", position = -41)
	private String shipperZjm;

	@ApiModelProperty(value = "(新)部门编码", position = -41)
	private String orgnNum;

	// ===============================7.8新加字段 =====================================
	@ApiModelProperty(value = "(新)运输方", position = -4)
	private String transportationParty;
	@ApiModelProperty(value = "运输单位(承运商)")
	private String carriername;
	@ApiModelProperty(value = "起运日期")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date shipFromDate;
	@ApiModelProperty(value = "发运地点")
	private String shipFromAdd;
	@ApiModelProperty(value = "(新)在途时限", position = -4)
	private Integer onPassageDays;
	@ApiModelProperty(value = "运输方式")
	private String shipType;
	@ApiModelProperty(value = "到货温度")
	private BigDecimal shipArriveTemPerature;
	@ApiModelProperty(value = "到货时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date shipArriveTime;
	@ApiModelProperty(value = "(新)启运温度", position = -4)
	private String shipTemPerature;
	@ApiModelProperty(value = "(新)启运时间", position = -4)
	private Date shipDate;
	@ApiModelProperty(value = "(新)设备号,车牌号,冷藏箱号(三取1)", position = -4)
	private String deviceNo;
	@ApiModelProperty(value = "(新)温控方式", position = -4)
	private String tempcontrolMode;
	@ApiModelProperty(value = "(新)温控方式名称", position = -4)
	private String tempcontrolModeName;
	@ApiModelProperty(value = "(新)温控状态", position = -4)
	private String tempcontrolStatus;
	@ApiModelProperty(value = "(新)温控状态名称", position = -4)
	private String tempcontrolStatusName;


	@ApiModelProperty(value = "(新)质检单id", position = -4)
	private String rqcHeaderId;
	@ApiModelProperty(value = "(新)质检单编号", position = -4)
	private String rqcNo;

	@ApiModelProperty(value = "(新)质检单时间", position = -4)
	private Date rqcDate;

	@ApiModelProperty(value = "(新)质检单备注", position = -4)
	private String rqcRemark;
	@ApiModelProperty(value = "(新)质检人", position = -4)
	private String rqcUser;
	@ApiModelProperty(value = "(新)单位编码", position = -4)
	private String shipperCode;
	@ApiModelProperty(value = "(新)单位名称", position = -4)
	private String shipperName;
	@ApiModelProperty(value = "(新)质检人2", position = -4)
	private String rqcUser2;

	@ApiModelProperty(value = "(新)单位id", position = -4)
	private String shipperid;

	@ApiModelProperty(value = "(新)单位类型", position = -4)
	private String shipperType;

	@ApiModelProperty(value = "供应商电话", position = -4)
	private String vendorPhone;

	public String getVendorPhone() {
		return vendorPhone;
	}

	public void setVendorPhone(String vendorPhone) {
		this.vendorPhone = vendorPhone;
	}

	public String getShipperid() {
		return shipperid;
	}

	public void setShipperid(String shipperid) {
		this.shipperid = shipperid;
	}

	public String getShipperType() {
		return shipperType;
	}

	public void setShipperType(String shipperType) {
		this.shipperType = shipperType;
	}

	public String getRqcUser2() {
		return rqcUser2;
	}

	public void setRqcUser2(String rqcUser2) {
		this.rqcUser2 = rqcUser2;
	}

	public String getShipperCode() {
		return shipperCode;
	}

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

	public String getShipperName() {
		return shipperName;
	}

	public void setShipperName(String shipperName) {
		this.shipperName = shipperName;
	}

	public String getRcvRemark() {
		return rcvRemark;
	}

	public void setRcvRemark(String rcvRemark) {
		this.rcvRemark = rcvRemark;
	}

	public String getRqcHeaderId() {
		return rqcHeaderId;
	}

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

	public String getRqcNo() {
		return rqcNo;
	}

	public void setRqcNo(String rqcNo) {
		this.rqcNo = rqcNo;
	}

	public Date getRqcDate() {
		return rqcDate;
	}

	public void setRqcDate(Date rqcDate) {
		this.rqcDate = rqcDate;
	}

	public String getRqcRemark() {
		return rqcRemark;
	}

	public void setRqcRemark(String rqcRemark) {
		this.rqcRemark = rqcRemark;
	}

	public String getRqcUser() {
		return rqcUser;
	}

	public void setRqcUser(String rqcUser) {
		this.rqcUser = rqcUser;
	}

	public String getRcvNo() {
		return rcvNo;
	}

	public void setRcvNo(String rcvNo) {
		this.rcvNo = rcvNo;
	}

	public String getRcvUser() {
		return rcvUser;
	}

	public void setRcvUser(String rcvUser) {
		this.rcvUser = rcvUser;
	}

	public String getRcvHeaderId() {
		return rcvHeaderId;
	}

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

	public String getAutoBillNum() {
		return autoBillNum;
	}

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

	public String getCustomBillNum() {
		return customBillNum;
	}

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

	public String getExecutorUser() {
		return executorUser;
	}

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

	public Date getRcvDate() {
		return rcvDate;
	}

	public void setRcvDate(Date rcvDate) {
		this.rcvDate = rcvDate;
	}

	public String getRcvType() {
		return rcvType;
	}

	public void setRcvType(String rcvType) {
		this.rcvType = rcvType;
	}

	public BigDecimal getCaseQty() {
		return caseQty;
	}

	public void setCaseQty(BigDecimal caseQty) {
		this.caseQty = caseQty;
	}

	public BigDecimal getPieceQty() {
		return pieceQty;
	}

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

	public String getStatus() {
		return status;
	}

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

	public String getComments() {
		return comments;
	}

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

	public Date getAuditDate() {
		return auditDate;
	}

	public void setAuditDate(Date auditDate) {
		this.auditDate = auditDate;
	}

	public BigDecimal getPrintCount() {
		return printCount;
	}

	public void setPrintCount(BigDecimal printCount) {
		this.printCount = printCount;
	}

	public Date getPrintDate() {
		return printDate;
	}

	public void setPrintDate(Date printDate) {
		this.printDate = printDate;
	}

	public String getAuditedName() {
		return auditedName;
	}

	public void setAuditedName(String auditedName) {
		this.auditedName = auditedName;
	}

	public String getPrintedName() {
		return printedName;
	}

	public void setPrintedName(String printedName) {
		this.printedName = printedName;
	}

	public String getConfirmedName() {
		return confirmedName;
	}

	public void setConfirmedName(String confirmedName) {
		this.confirmedName = confirmedName;
	}

	public Date getConfirmDate() {
		return confirmDate;
	}

	public void setConfirmDate(Date confirmDate) {
		this.confirmDate = confirmDate;
	}

	public String getAccessLevel() {
		return accessLevel;
	}

	public void setAccessLevel(String accessLevel) {
		this.accessLevel = accessLevel;
	}

	public String getAsnHeaderId() {
		return asnHeaderId;
	}

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

	public String getWarehouseId() {
		return warehouseId;
	}

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

	public String getMtlOwnerId() {
		return mtlOwnerId;
	}

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

	public String getVendorId() {
		return vendorId;
	}

	public void setVendorId(String vendorId) {
		this.vendorId = vendorId;
	}

	public String getSrcHeaderId() {
		return srcHeaderId;
	}

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

	public String getSrcBillType() {
		return srcBillType;
	}

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

	public String getArrivalMode() {
		return arrivalMode;
	}

	public void setArrivalMode(String arrivalMode) {
		this.arrivalMode = arrivalMode;
	}

	public String getVendorName() {
		return vendorName;
	}

	public void setVendorName(String vendorName) {
		this.vendorName = vendorName;
	}

	public String getWarehouseName() {
		return warehouseName;
	}

	public void setWarehouseName(String warehouseName) {
		this.warehouseName = warehouseName;
	}

	public String getBuyerMane() {
		return buyerMane;
	}

	public void setBuyerMane(String buyerMane) {
		this.buyerMane = buyerMane;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public String getMtlOwnerName() {
		return mtlOwnerName;
	}

	public void setMtlOwnerName(String mtlOwnerName) {
		this.mtlOwnerName = mtlOwnerName;
	}

	public String getAsnAutoBillNum() {
		return asnAutoBillNum;
	}

	public void setAsnAutoBillNum(String asnAutoBillNum) {
		this.asnAutoBillNum = asnAutoBillNum;
	}

	public String getAsnRemark() {
		return asnRemark;
	}

	public void setAsnRemark(String asnRemark) {
		this.asnRemark = asnRemark;
	}

	public String getNeedDept() {
		return needDept;
	}

	public void setNeedDept(String needDept) {
		this.needDept = needDept;
	}

	public String getNeedUser() {
		return needUser;
	}

	public void setNeedUser(String needUser) {
		this.needUser = needUser;
	}

	public String getAgent() {
		return agent;
	}

	public void setAgent(String agent) {
		this.agent = agent;
	}

	public String getMtlOwnerNum() {
		return mtlOwnerNum;
	}

	public void setMtlOwnerNum(String mtlOwnerNum) {
		this.mtlOwnerNum = mtlOwnerNum;
	}

	public String getAsnBillNum() {
		return asnBillNum;
	}

	public void setAsnBillNum(String asnBillNum) {
		this.asnBillNum = asnBillNum;
	}

	public String getVendorNum() {
		return vendorNum;
	}

	public void setVendorNum(String vendorNum) {
		this.vendorNum = vendorNum;
	}

	public String getShipperZjm() {
		return shipperZjm;
	}

	public void setShipperZjm(String shipperZjm) {
		this.shipperZjm = shipperZjm;
	}

	public String getOrgnNum() {
		return orgnNum;
	}

	public void setOrgnNum(String orgnNum) {
		this.orgnNum = orgnNum;
	}

	public String getTransportationParty() {
		return transportationParty;
	}

	public void setTransportationParty(String transportationParty) {
		this.transportationParty = transportationParty;
	}

	public String getCarriername() {
		return carriername;
	}

	public void setCarriername(String carriername) {
		this.carriername = carriername;
	}

	public Date getShipFromDate() {
		return shipFromDate;
	}

	public void setShipFromDate(Date shipFromDate) {
		this.shipFromDate = shipFromDate;
	}

	public String getShipFromAdd() {
		return shipFromAdd;
	}

	public void setShipFromAdd(String shipFromAdd) {
		this.shipFromAdd = shipFromAdd;
	}

	public Integer getOnPassageDays() {
		return onPassageDays;
	}

	public void setOnPassageDays(Integer onPassageDays) {
		this.onPassageDays = onPassageDays;
	}

	public String getShipType() {
		return shipType;
	}

	public void setShipType(String shipType) {
		this.shipType = shipType;
	}

	public BigDecimal getShipArriveTemPerature() {
		return shipArriveTemPerature;
	}

	public void setShipArriveTemPerature(BigDecimal shipArriveTemPerature) {
		this.shipArriveTemPerature = shipArriveTemPerature;
	}

	public Date getShipArriveTime() {
		return shipArriveTime;
	}

	public void setShipArriveTime(Date shipArriveTime) {
		this.shipArriveTime = shipArriveTime;
	}

	public String getShipTemPerature() {
		return shipTemPerature;
	}

	public void setShipTemPerature(String shipTemPerature) {
		this.shipTemPerature = shipTemPerature;
	}

	public Date getShipDate() {
		return shipDate;
	}

	public void setShipDate(Date shipDate) {
		this.shipDate = shipDate;
	}

	public String getDeviceNo() {
		return deviceNo;
	}

	public void setDeviceNo(String deviceNo) {
		this.deviceNo = deviceNo;
	}

	public String getTempcontrolMode() {
		return tempcontrolMode;
	}

	public void setTempcontrolMode(String tempcontrolMode) {
		this.tempcontrolMode = tempcontrolMode;
	}

	public String getTempcontrolStatus() {
		return tempcontrolStatus;
	}

	public void setTempcontrolStatus(String tempcontrolStatus) {
		this.tempcontrolStatus = tempcontrolStatus;
	}

	public String getRcvTypeName() {
		return rcvTypeName;
	}

	public void setRcvTypeName(String rcvTypeName) {
		this.rcvTypeName = rcvTypeName;
	}

	public String getTempcontrolModeName() {
		return tempcontrolModeName;
	}

	public void setTempcontrolModeName(String tempcontrolModeName) {
		this.tempcontrolModeName = tempcontrolModeName;
	}

	public String getTempcontrolStatusName() {
		return tempcontrolStatusName;
	}

	public void setTempcontrolStatusName(String tempcontrolStatusName) {
		this.tempcontrolStatusName = tempcontrolStatusName;
	}

	public String getRcvDateStr() {
		return rcvDateStr;
	}

	public void setRcvDateStr(String rcvDateStr) {
		this.rcvDateStr = rcvDateStr;
	}
	//
//	@ApiModelProperty(value = "来源单号列表")
//	private String srcAutoBillNum;
//
//	@ApiModelProperty(value = "来源单号列表(ASN)")
//	private String asnAutoBillNum;
//	@ApiModelProperty(value = "采购员ID")
//	private String buyerId;
//	@ApiModelProperty(value = "打印人")
//	private String printedBy;
//	@ApiModelProperty(value = "audited_by")
//	private String auditedBy;
//	@ApiModelProperty(value = "批准人id")
//	private String confirmedBy;
//
//	@ApiModelProperty(value = "status_as(辅助状态，外部系统对接 例如上传ERP)")
//	private String statusAs;
//
//	@ApiModelProperty(value = "组织ID")
//	private String orgnId;
//	@ApiModelProperty(value = "客户ID（销退客户ID）XT")
//	private String customerId;
//
//	@ApiModelProperty(value = "源组织ID(调拨组织ID)    YC")
//	private String srcOrgnId;
//
//	@ApiModelProperty(value = "源仓库ID(调拨源仓ID)    YC")
//	private String srcWarehouseId;
//
//	@ApiModelProperty(value = "源货主ID(移库入库的源货主ID)")
//	private String srcMtlOwnerId;
//	@ApiModelProperty(value = "access_level")
//	private String accessLevel;

}
