/*******************************************************************************
 * Copyright 2013 2Fi Business Solutions Ltd.
 *
 * This code is part of the PCS project.
 *
 * This code is copyrighted. Under no circumstances should any party, people,
 * or organization should redistribute any portions of this code in any form,
 * either verbatim or through electronic media, to any third parties, unless
 * under explicit written permission by 2Fi Business Solutions Ltd.
 ******************************************************************************/
package com.ffii.tbms.order;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.ffii.core.BaseEntity;

@Entity
@Table(name = "orders")
public class Order extends BaseEntity<Integer> {

	private static final long serialVersionUID = -6977390008376019654L;

	public static final Integer STATUS_IGNORE = -2;
	public static final Integer STATUS_CANCELLED = -1;
	public static final Integer STATUS_ON_HAND = 0;
	public static final Integer STATUS_COMPLETED = 1;

	public static final Integer WS_STATUS_BLANK = null;
	public static final Integer WS_STATUS_PENDING = 1;
	public static final Integer WS_STATUS_RECEIVED = 2;
	public static final Integer WS_STATUS_COMPLETED = 3;

	public static final Integer WS_WORK_STATUS_PENDING = 0;
	public static final Integer WS_WORK_STATUS_COMPLETED = 1;

	public static final Integer IN_OUT_STATUS_BLANK = null;
	public static final Integer IN_OUT_STATUS_PENDING = 1;
	public static final Integer IN_OUT_STATUS_RECEIVED = 2;

	@Column(columnDefinition = "varchar(50)")
	private String code;

	@Column(columnDefinition = "varchar(50)")
	private String type;

	@Column(columnDefinition = "int(11)")
	private Integer custId;

	@Column(columnDefinition = "int(11)")
	private Integer fileId;

	@Column(columnDefinition = "int(11)")
	private Integer ref;

	@Column(columnDefinition = "varchar(100)")
	private String refNo;

	@Column(columnDefinition = "date")
	private Date date;

	@Column(columnDefinition = "varchar(255)")
	private String remarks;

	@Column(columnDefinition = "int(11)")
	private Integer status;

	@Column(columnDefinition = "date")
	private Date outDate;

	@Column(columnDefinition = "date")
	private Date inDate;

	@Column(columnDefinition = "varchar(255)")
	private String outRemark;

	@Column(columnDefinition = "varchar(255)")
	private String inRemark;

	@Column(columnDefinition = "tinyint(1)")
	private Boolean ignoreC;

	@Column(columnDefinition = "int(11)")
	private Integer workshopStatus;

	@Column(columnDefinition = "date")
	private Date targetCompleteDate;

	@Column(columnDefinition = "int(11)")
	private Integer inStatus;

	@Column(columnDefinition = "int(11)")
	private Integer outStatus;

	public Order() {
	}

	public String getCode() {
		return code;
	}

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

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public Integer getCustId() {
		return custId;
	}

	public void setCustId(Integer custId) {
		this.custId = custId;
	}

	public Integer getFileId() {
		return fileId;
	}

	public void setFileId(Integer fileId) {
		this.fileId = fileId;
	}

	public Integer getRef() {
		return ref;
	}

	public void setRef(Integer ref) {
		this.ref = ref;
	}

	public String getRefNo() {
		return refNo;
	}

	public void setRefNo(String refNo) {
		this.refNo = refNo;
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public Integer getStatus() {
		return status;
	}

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

	public Date getOutDate() {
		return outDate;
	}

	public void setOutDate(Date outDate) {
		this.outDate = outDate;
	}

	public Date getInDate() {
		return inDate;
	}

	public void setInDate(Date inDate) {
		this.inDate = inDate;
	}

	public String getOutRemark() {
		return outRemark;
	}

	public void setOutRemark(String outRemark) {
		this.outRemark = outRemark;
	}

	public String getInRemark() {
		return inRemark;
	}

	public void setInRemark(String inRemark) {
		this.inRemark = inRemark;
	}

	public Boolean getIgnoreC() {
		return ignoreC;
	}

	public void setIgnoreC(Boolean ignoreC) {
		this.ignoreC = ignoreC;
	}

	public Integer getWorkshopStatus() {
		return workshopStatus;
	}

	public void setWorkshopStatus(Integer workshopStatus) {
		this.workshopStatus = workshopStatus;
	}

	public Date getTargetCompleteDate() {
		return targetCompleteDate;
	}

	public void setTargetCompleteDate(Date targetCompleteDate) {
		this.targetCompleteDate = targetCompleteDate;
	}

	public Integer getInStatus() {
		return inStatus;
	}

	public void setInStatus(Integer inStatus) {
		this.inStatus = inStatus;
	}

	public Integer getOutStatus() {
		return outStatus;
	}

	public void setOutStatus(Integer outStatus) {
		this.outStatus = outStatus;
	}

	

}
