package com.cim.idm.wmspackage.productpacking.management.data;

import java.sql.Timestamp;

import com.cim.idm.framework.orm.info.DataInfo;
import com.cim.idm.framework.orm.info.access.FieldAccessor;

public class ProductPacking extends FieldAccessor implements DataInfo<ProductPackingKey> {

	private ProductPackingKey key;
	private String packingType ; //A packing group type. [ PALLET | BOX | TRAY ]
	private String contentMaterialType ; //A material type to be contained in a packing group. [ PRODUCT | PACKINGGROUP ]
	private String detailMaterialType ;//A detail material type.
	private String superProductPackingName; //A super pacing group name.
	private String productSpecName; //A product spec.
	private String packingGrade; //A product grade.
	private long subPackingQuantity; //The quantity of sub packinggroup in a packing group.
	private long productQuantity; //The quantity of products contained in a packing group.
	private String packingState; //A packing group state. [ Created | Released | Scrapped | Emptied | Completed ]
	private String oldPackingState; //A old packing group state.
	private String stockState; //A stock state. [ NotStocked | PreStocked | Stocked | OutReady | StockOut ]
	private String oldStockState; //A old stock state.
	private String holdState; //A hold state. [ NotOnHold | OnHold ]
	private String areaName; //An area name.
	private String locationName; //A location.
//	private String trayName; // warehouse tray name.
	private String durableName; // warehouse tray name.
	private String productProcessGroupName;
	private String shipRequestReserveState; //A reserve state for shiprequest.[ NotOnReserve | OnReserve ]
	private String shipRequestConfirmState; //A confirm state for shiprequest.[ NotOnConfirm | OnConfirm ]
//	private String invoiceNo; //A invoice No. (Pallet Only) At Reserve ShipRequest
//	private String invoiceDetailNo; //A invoice Detail No. (Pallet Only) At Reserve ShipRequest
	private String shipRequestName; //A invoice No. (Pallet Only) At Reserve ShipRequest
	private String shipRequestDetailName; //A invoice Detail No. (Pallet Only) At Reserve ShipRequest
	private String domesticExport; //A Desitination type of ship. [D = Domestic | E = Export ]
	private String lastEventName; //The last event name.
	private String lastEventTimeKey; //A time key when the last event is reported.
	private Timestamp lastEventTime; //A time when the last event is reported.
	private String lastEventUser; //A user who reports the last event.
	private String lastEventComment; //The last event comment.
	private Timestamp createTime; //A time when created.
	private String createUser; //The user who creates.
	private Timestamp stockInTime; //A stock in time.
	private String stockInUser; //The user who stock in.
	private String reasonCodeType; //A type of a reason code.
	private String reasonCode; //A reason Code
	
	
	@Override
	public ProductPackingKey getKey() {
		return key;
	}

	@Override
	public void setKey(ProductPackingKey key) {
		this.key = key;
	}

	public String getDetailMaterialType() {
		return detailMaterialType;
	}

	public void setDetailMaterialType(String detailMaterialType) {
		this.detailMaterialType = detailMaterialType;
	}

	public String getProductSpecName() {
		return productSpecName;
	}

	public void setProductSpecName(String productSpecName) {
		this.productSpecName = productSpecName;
	}

	public long getProductQuantity() {
		return productQuantity;
	}

	public void setProductQuantity(long productQuantity) {
		this.productQuantity = productQuantity;
	}

	public String getStockState() {
		return stockState;
	}

	public void setStockState(String stockState) {
		this.stockState = stockState;
	}

	public String getOldStockState() {
		return oldStockState;
	}

	public void setOldStockState(String oldStockState) {
		this.oldStockState = oldStockState;
	}

	public String getHoldState() {
		return holdState;
	}

	public void setHoldState(String holdState) {
		this.holdState = holdState;
	}

	public String getAreaName() {
		return areaName;
	}

	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}

	public String getLocationName() {
		return locationName;
	}

	public void setLocationName(String locationName) {
		this.locationName = locationName;
	}

//	public String getTrayName() {
//		return trayName;
//	}
//
//	public void setTrayName(String trayName) {
//		this.trayName = trayName;
//	}

	public String getShipRequestReserveState() {
		return shipRequestReserveState;
	}

	public String getDurableName() {
		return durableName;
	}

	public void setDurableName(String durableName) {
		this.durableName = durableName;
	}

	public void setShipRequestReserveState(String shipRequestReserveState) {
		this.shipRequestReserveState = shipRequestReserveState;
	}

	public String getShipRequestConfirmState() {
		return shipRequestConfirmState;
	}

	public void setShipRequestConfirmState(String shipRequestConfirmState) {
		this.shipRequestConfirmState = shipRequestConfirmState;
	}

	public String getDomesticExport() {
		return domesticExport;
	}

	public void setDomesticExport(String domesticExport) {
		this.domesticExport = domesticExport;
	}

	public String getLastEventName() {
		return lastEventName;
	}

	public void setLastEventName(String lastEventName) {
		this.lastEventName = lastEventName;
	}

	public String getLastEventTimeKey() {
		return lastEventTimeKey;
	}

	public void setLastEventTimeKey(String lastEventTimeKey) {
		this.lastEventTimeKey = lastEventTimeKey;
	}

	public Timestamp getLastEventTime() {
		return lastEventTime;
	}

	public void setLastEventTime(Timestamp lastEventTime) {
		this.lastEventTime = lastEventTime;
	}

	public String getLastEventUser() {
		return lastEventUser;
	}

	public void setLastEventUser(String lastEventUser) {
		this.lastEventUser = lastEventUser;
	}

	public String getLastEventComment() {
		return lastEventComment;
	}

	public void setLastEventComment(String lastEventComment) {
		this.lastEventComment = lastEventComment;
	}

	public Timestamp getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}

	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	public Timestamp getStockInTime() {
		return stockInTime;
	}

	public void setStockInTime(Timestamp stockInTime) {
		this.stockInTime = stockInTime;
	}

	public String getStockInUser() {
		return stockInUser;
	}

	public void setStockInUser(String stockInUser) {
		this.stockInUser = stockInUser;
	}

	public String getReasonCodeType() {
		return reasonCodeType;
	}

	public void setReasonCodeType(String reasonCodeType) {
		this.reasonCodeType = reasonCodeType;
	}

	public String getReasonCode() {
		return reasonCode;
	}

	public void setReasonCode(String reasonCode) {
		this.reasonCode = reasonCode;
	}

	public String getPackingType() {
		return packingType;
	}

	public void setPackingType(String packingType) {
		this.packingType = packingType;
	}

	public String getContentMaterialType() {
		return contentMaterialType;
	}

	public void setContentMaterialType(String contentMaterialType) {
		this.contentMaterialType = contentMaterialType;
	}

	public String getSuperProductPackingName() {
		return superProductPackingName;
	}

	public void setSuperProductPackingName(String superProductPackingName) {
		this.superProductPackingName = superProductPackingName;
	}

	public String getPackingGrade() {
		return packingGrade;
	}

	public void setPackingGrade(String packingGrade) {
		this.packingGrade = packingGrade;
	}

	public long getSubPackingQuantity() {
		return subPackingQuantity;
	}

	public void setSubPackingQuantity(long subPackingQuantity) {
		this.subPackingQuantity = subPackingQuantity;
	}

	public String getPackingState() {
		return packingState;
	}

	public void setPackingState(String packingState) {
		this.packingState = packingState;
	}

	public String getOldPackingState() {
		return oldPackingState;
	}

	public void setOldPackingState(String oldPackingState) {
		this.oldPackingState = oldPackingState;
	}

	public String getProductProcessGroupName() {
		return productProcessGroupName;
	}

	public void setProductProcessGroupName(String productProcessGroupName) {
		this.productProcessGroupName = productProcessGroupName;
	}

	public String getShipRequestName() {
		return shipRequestName;
	}

	public void setShipRequestName(String shipRequestName) {
		this.shipRequestName = shipRequestName;
	}

	public String getShipRequestDetailName() {
		return shipRequestDetailName;
	}

	public void setShipRequestDetailName(String shipRequestDetailName) {
		this.shipRequestDetailName = shipRequestDetailName;
	}

	public class FIELD{
//		public final String userColumn1 = "userColumn1";
	}
}
