package com.cim.idm.wmspackage.product.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 Product extends FieldAccessor implements DataInfo<ProductKey> {

	private ProductKey key;
	
	private String productionType;
	private String productSpecName;
//	private String packingGroupName;
	private String productPackingName;
	private String productType;
	private long   productQuantity;
	private String productGrade;
	private String subProductGrade;
	private String productState; //A product state. [Created|Stocked|Scrapped|Shipped]
	private String oldProductState;
	private String productHoldState;
	private String productProcessGroupName;//Add

	private Timestamp createTime;
	private String createUser;
	private Timestamp stockInTime;
	private String stockInUser;
	
	private String sourceProductName;
	private String destinationProductName;
	
	private String lastEventName;
	private String lastEventTimeKey;
	private Timestamp lastEventTime;
	private String lastEventUser;
	private String lastEventComment;
	private String reasonCodeType;
	private String reasonCode;
	
	
	@Override
	public ProductKey getKey() {
		return key;
	}

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

	public String getProductionType() {
		return productionType;
	}

	public void setProductionType(String productionType) {
		this.productionType = productionType;
	}

	public String getProductSpecName() {
		return productSpecName;
	}

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

//	public String getPackingGroupName() {
//		return packingGroupName;
//	}
//
//	public void setPackingGroupName(String packingGroupName) {
//		this.packingGroupName = packingGroupName;
//	}

	public String getProductType() {
		return productType;
	}

	public String getProductPackingName() {
		return productPackingName;
	}

	public void setProductPackingName(String productPackingName) {
		this.productPackingName = productPackingName;
	}

	public void setProductType(String productType) {
		this.productType = productType;
	}

	public long getProductQuantity() {
		return productQuantity;
	}

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

	public String getProductGrade() {
		return productGrade;
	}

	public void setProductGrade(String productGrade) {
		this.productGrade = productGrade;
	}

	public String getProductState() {
		return productState;
	}

	public String getSubProductGrade() {
		return subProductGrade;
	}

	public void setSubProductGrade(String subProductGrade) {
		this.subProductGrade = subProductGrade;
	}

	public void setProductState(String productState) {
		this.productState = productState;
	}

	public String getOldProductState() {
		return oldProductState;
	}

	public void setOldProductState(String oldProductState) {
		this.oldProductState = oldProductState;
	}

	public String getProductHoldState() {
		return productHoldState;
	}

	public void setProductHoldState(String productHoldState) {
		this.productHoldState = productHoldState;
	}
	
	public String getProductProcessGroupName() {
		return productProcessGroupName;
	}

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

	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 getSourceProductName() {
		return sourceProductName;
	}

	public void setSourceProductName(String sourceProductName) {
		this.sourceProductName = sourceProductName;
	}

	public String getDestinationProductName() {
		return destinationProductName;
	}

	public void setDestinationProductName(String destinationProductName) {
		this.destinationProductName = destinationProductName;
	}

	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 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;
	}

	
}
