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

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

import com.dev.swms.server.model.base.ItemKey;
import com.dev.swms.server.model.base.PackageUnit;
import com.dev.energy.server.model.Entity;

public class BOLDetail extends Entity{
	
	/** BOL */
	private BOL bol;
	/** 货物批次属性 */
	private ItemKey itemKey;
	/** 包装单位 */
	private PackageUnit packageUnit;
	/** 发运数量 */
	private double shipQuantity;
	/** 发运重量 */
	private double weight;
	/** 发运体积 */
	private double volume;
	/** 签收数量 */
	private double singQuantity;
	/** 货损数量 */
	private double badQuantity;
	/** 货差数量 */
	private double deltaQuantity;
	/** BOL数量 */
	private double bolQuantity;
	/** 签收说明 */
	private String remark;
	
	
	public double getBadQuantity() {
		return badQuantity;
	}

	
	public void setBadQuantity(double badQuantity) {
		this.badQuantity = badQuantity;
	}


	public BOL getBol() {
		return bol;
	}


	public void setBol(BOL bol) {
		this.bol = bol;
	}


	public double getDeltaQuantity() {
		return deltaQuantity;
	}


	public void setDeltaQuantity(double deltaQuantity) {
		this.deltaQuantity = deltaQuantity;
	}


	public ItemKey getItemKey() {
		return itemKey;
	}


	public void setItemKey(ItemKey itemKey) {
		this.itemKey = itemKey;
	}


	public PackageUnit getPackageUnit() {
		return packageUnit;
	}


	public void setPackageUnit(PackageUnit packageUnit) {
		this.packageUnit = packageUnit;
	}


	public String getRemark() {
		return remark;
	}


	public void setRemark(String remark) {
		this.remark = remark;
	}


	public double getShipQuantity() {
		return shipQuantity;
	}


	public void setShipQuantity(double shipQuantity) {
		this.shipQuantity = shipQuantity;
	}


	public double getSingQuantity() {
		return singQuantity;
	}


	public void setSingQuantity(double singQuantity) {
		this.singQuantity = singQuantity;
	}


	public double getVolume() {
		return volume;
	}


	public void setVolume(double volume) {
		this.volume = volume;
	}


	public double getWeight() {
		return weight;
	}


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


	public BOLDetail(){
		
	}
	

	public boolean equals(final Object other) {
		if (!(other instanceof BOLDetail))
			return false;
		BOLDetail castOther = (BOLDetail) other;
		return new EqualsBuilder().append(bol, castOther.getBol()).append(itemKey, castOther.getItemKey())
				.append(packageUnit, castOther.getPackageUnit()).isEquals();
	}

	public int hashCode() {
		return new HashCodeBuilder().append(bol).append(itemKey).append(packageUnit).toHashCode();
	}


	public double getBolQuantity() {
		return bolQuantity;
	}


	public void setBolQuantity(double bolQuantity) {
		this.bolQuantity = bolQuantity;
	}
}