package com.microstar.tap3.db;
// Generated Jun 12, 2017 8:29:18 AM by Hibernate Tools 4.3.1.Final

import org.hibernate.annotations.GenericGenerator;
import javax.persistence.GeneratedValue;
import org.hibernate.envers.RevisionEntity;
import org.hibernate.envers.Audited;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * Customer generated by hbm2java
 */
@Entity @Audited
@Table(name = "Customer", uniqueConstraints = { @UniqueConstraint(columnNames = "SFDCId"),
		@UniqueConstraint(columnNames = "TAPCustomerId") })
public class Customer implements java.io.Serializable
{

	private String		id;
	private String		customerTypeId;
	private String		customerStatusId;
	private String		regionId;
	private String		billingAddressId;
	private String		tapcustomerId;
	private String		name;
	private String		dynamicsId;
	private boolean		suppressBilling;
	private String		sfdcid;
	private Character	grade;
	private String		logisticsRepId;
	private String		cerepId;
	private String		accountRepId;
	private String		qualityRepId;
	private String		salesRepId;
	private String		statusReason;
	private boolean		allowRepairReqFlag;
	private boolean		hideFromLogisticsReports;

	public Customer()
	{
	}

	public Customer(String id, String customerTypeId, String customerStatusId, String regionId, String tapcustomerId,
			String name, boolean suppressBilling, boolean allowRepairReqFlag, boolean hideFromLogisticsReports)
	{
		this.id = id;
		this.customerTypeId = customerTypeId;
		this.customerStatusId = customerStatusId;
		this.regionId = regionId;
		this.tapcustomerId = tapcustomerId;
		this.name = name;
		this.suppressBilling = suppressBilling;
		this.allowRepairReqFlag = allowRepairReqFlag;
		this.hideFromLogisticsReports = hideFromLogisticsReports;
	}

	public Customer(String id, String customerTypeId, String customerStatusId, String regionId, String billingAddressId,
			String tapcustomerId, String name, String dynamicsId, boolean suppressBilling, String sfdcid,
			Character grade, String logisticsRepId, String cerepId, String accountRepId, String qualityRepId,
			String salesRepId, String statusReason, boolean allowRepairReqFlag, boolean hideFromLogisticsReports)
	{
		this.id = id;
		this.customerTypeId = customerTypeId;
		this.customerStatusId = customerStatusId;
		this.regionId = regionId;
		this.billingAddressId = billingAddressId;
		this.tapcustomerId = tapcustomerId;
		this.name = name;
		this.dynamicsId = dynamicsId;
		this.suppressBilling = suppressBilling;
		this.sfdcid = sfdcid;
		this.grade = grade;
		this.logisticsRepId = logisticsRepId;
		this.cerepId = cerepId;
		this.accountRepId = accountRepId;
		this.qualityRepId = qualityRepId;
		this.salesRepId = salesRepId;
		this.statusReason = statusReason;
		this.allowRepairReqFlag = allowRepairReqFlag;
		this.hideFromLogisticsReports = hideFromLogisticsReports;
	}

	@Id @GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid2")

	@Column(name = "id", unique = true, nullable = false, length = 36)
	public String getId()
	{
		return this.id;
	}

	public void setId(String id)
	{
		this.id = id;
	}

	@Column(name = "CustomerTypeId", nullable = false, length = 36)
	public String getCustomerTypeId()
	{
		return this.customerTypeId;
	}

	public void setCustomerTypeId(String customerTypeId)
	{
		this.customerTypeId = customerTypeId;
	}

	@Column(name = "CustomerStatusId", nullable = false, length = 36)
	public String getCustomerStatusId()
	{
		return this.customerStatusId;
	}

	public void setCustomerStatusId(String customerStatusId)
	{
		this.customerStatusId = customerStatusId;
	}

	@Column(name = "RegionId", nullable = false, length = 36)
	public String getRegionId()
	{
		return this.regionId;
	}

	public void setRegionId(String regionId)
	{
		this.regionId = regionId;
	}

	@Column(name = "BillingAddressId", length = 36)
	public String getBillingAddressId()
	{
		return this.billingAddressId;
	}

	public void setBillingAddressId(String billingAddressId)
	{
		this.billingAddressId = billingAddressId;
	}

	@Column(name = "TAPCustomerId", unique = true, nullable = false, length = 10)
	public String getTapcustomerId()
	{
		return this.tapcustomerId;
	}

	public void setTapcustomerId(String tapcustomerId)
	{
		this.tapcustomerId = tapcustomerId;
	}

	@Column(name = "Name", nullable = false, length = 100)
	public String getName()
	{
		return this.name;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	@Column(name = "DynamicsId", length = 10)
	public String getDynamicsId()
	{
		return this.dynamicsId;
	}

	public void setDynamicsId(String dynamicsId)
	{
		this.dynamicsId = dynamicsId;
	}

	@Column(name = "SuppressBilling", nullable = false)
	public boolean isSuppressBilling()
	{
		return this.suppressBilling;
	}

	public void setSuppressBilling(boolean suppressBilling)
	{
		this.suppressBilling = suppressBilling;
	}

	@Column(name = "SFDCId", unique = true, length = 20)
	public String getSfdcid()
	{
		return this.sfdcid;
	}

	public void setSfdcid(String sfdcid)
	{
		this.sfdcid = sfdcid;
	}

	@Column(name = "Grade", length = 1)
	public Character getGrade()
	{
		return this.grade;
	}

	public void setGrade(Character grade)
	{
		this.grade = grade;
	}

	@Column(name = "LogisticsRepId", length = 36)
	public String getLogisticsRepId()
	{
		return this.logisticsRepId;
	}

	public void setLogisticsRepId(String logisticsRepId)
	{
		this.logisticsRepId = logisticsRepId;
	}

	@Column(name = "CERepId", length = 36)
	public String getCerepId()
	{
		return this.cerepId;
	}

	public void setCerepId(String cerepId)
	{
		this.cerepId = cerepId;
	}

	@Column(name = "AccountRepId", length = 36)
	public String getAccountRepId()
	{
		return this.accountRepId;
	}

	public void setAccountRepId(String accountRepId)
	{
		this.accountRepId = accountRepId;
	}

	@Column(name = "QualityRepId", length = 36)
	public String getQualityRepId()
	{
		return this.qualityRepId;
	}

	public void setQualityRepId(String qualityRepId)
	{
		this.qualityRepId = qualityRepId;
	}

	@Column(name = "SalesRepId", length = 36)
	public String getSalesRepId()
	{
		return this.salesRepId;
	}

	public void setSalesRepId(String salesRepId)
	{
		this.salesRepId = salesRepId;
	}

	@Column(name = "StatusReason")
	public String getStatusReason()
	{
		return this.statusReason;
	}

	public void setStatusReason(String statusReason)
	{
		this.statusReason = statusReason;
	}

	@Column(name = "AllowRepairReqFlag", nullable = false)
	public boolean isAllowRepairReqFlag()
	{
		return this.allowRepairReqFlag;
	}

	public void setAllowRepairReqFlag(boolean allowRepairReqFlag)
	{
		this.allowRepairReqFlag = allowRepairReqFlag;
	}

	@Column(name = "HideFromLogisticsReports", nullable = false)
	public boolean isHideFromLogisticsReports()
	{
		return this.hideFromLogisticsReports;
	}

	public void setHideFromLogisticsReports(boolean hideFromLogisticsReports)
	{
		this.hideFromLogisticsReports = hideFromLogisticsReports;
	}

}
