package com.dev.swms.server.model.shipping;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import com.dev.energy.server.model.Entity;
import com.dev.swms.server.model.base.Location;
import com.dev.swms.server.model.base.Structure;
import com.dev.swms.server.model.base.Warehouse;

/**
 * 预波次表
 * @author 44700
 *
 */
public class Prewave extends Entity{
	private static final long serialVersionUID = 1L;
	/** 仓库 */
	private Warehouse warehouse;
	/** 波次号 */
	private String code;
	/** 波次状态 */
	private String status;
	/** 订单数量 */
	private double orderQuantity;
	/** 重量 */
	private double weight;
	/** 体积 */
	private double volumn;
	/** 预分配数量 */
	private double allocatedQuantity;
	/** 拣货数量（MU数量） */
	private double pickedQuantity;
	/** 分单数量（MU数量） */
	private double billAllocatedQuantity;
	/** 备货库位 */
	private Location prepareGoodsLoc;
	/** 波次明细 */
	private Set<WaveDocDetail> waveDocDetails;
	/** 最后修改人ID */
	private Long userID;
	/** 最后修改人姓名 */
	private String userName;
	/** 最后修改时间 */
	private Date updateTime;
	/** 波次规则的开始时间 */
	private Date startDate;
	
	/** 波次规则的结束时间 */
	private Date endDate;
	
	/** 作业模式 */
	private String workModel;
	/** 对应波次规则 */
	private String waveRules;
	/** 创建时间 */
	private Date createDate;
	/** 周转方式 */
	private String turnOverMode;
	/** 单据打印标志 */
	private int printCount = 0;
	/** 批拣方式 */
	private String pickBatchType;
	/**生成该波次的波次规则ID*/
	private Long waveRuleId;
	/** 补货单号 */
	private String applyDoc;
	
	private Structure company;//货主
	
	
	
	

	public Warehouse getWarehouse() {
		return warehouse;
	}

	public void setWarehouse(Warehouse warehouse) {
		this.warehouse = warehouse;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getStatus() {
		return status;
	}

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

	public double getOrderQuantity() {
		return orderQuantity;
	}

	public void setOrderQuantity(double orderQuantity) {
		this.orderQuantity = orderQuantity;
	}

	public double getWeight() {
		return weight;
	}

	public void setWeight(double weight) {
		this.weight = weight;
	}

	public double getVolumn() {
		return volumn;
	}

	public void setVolumn(double volumn) {
		this.volumn = volumn;
	}

	public double getAllocatedQuantity() {
		return allocatedQuantity;
	}

	public void setAllocatedQuantity(double allocatedQuantity) {
		this.allocatedQuantity = allocatedQuantity;
	}

	public double getPickedQuantity() {
		return pickedQuantity;
	}

	public void setPickedQuantity(double pickedQuantity) {
		this.pickedQuantity = pickedQuantity;
	}

	public double getBillAllocatedQuantity() {
		return billAllocatedQuantity;
	}

	public void setBillAllocatedQuantity(double billAllocatedQuantity) {
		this.billAllocatedQuantity = billAllocatedQuantity;
	}

	public Location getPrepareGoodsLoc() {
		return prepareGoodsLoc;
	}

	public void setPrepareGoodsLoc(Location prepareGoodsLoc) {
		this.prepareGoodsLoc = prepareGoodsLoc;
	}

	public Set<WaveDocDetail> getWaveDocDetails() {
		return waveDocDetails;
	}

	public void setWaveDocDetails(Set<WaveDocDetail> waveDocDetails) {
		this.waveDocDetails = waveDocDetails;
	}

	public Long getUserID() {
		return userID;
	}

	public void setUserID(Long userID) {
		this.userID = userID;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public String getWorkModel() {
		return workModel;
	}

	public void setWorkModel(String workModel) {
		this.workModel = workModel;
	}

	public String getWaveRules() {
		return waveRules;
	}

	public void setWaveRules(String waveRules) {
		this.waveRules = waveRules;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getTurnOverMode() {
		return turnOverMode;
	}

	public void setTurnOverMode(String turnOverMode) {
		this.turnOverMode = turnOverMode;
	}

	public int getPrintCount() {
		return printCount;
	}

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

	public String getPickBatchType() {
		return pickBatchType;
	}

	public void setPickBatchType(String pickBatchType) {
		this.pickBatchType = pickBatchType;
	}

	public Long getWaveRuleId() {
		return waveRuleId;
	}

	public void setWaveRuleId(Long waveRuleId) {
		this.waveRuleId = waveRuleId;
	}

	public String getApplyDoc() {
		return applyDoc;
	}

	public void setApplyDoc(String applyDoc) {
		this.applyDoc = applyDoc;
	}

	public Structure getCompany() {
		return company;
	}

	public void setCompany(Structure company) {
		this.company = company;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	
	
}
