package com.fp.armas.portal.model;

import java.io.Serializable;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Version;


/**
 * The persistent class for the TCUSTPERSONADDRESS database table.
 * 
 */
@Entity
public class Tcustpersonaddress implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private TcustpersonaddressPK id;

	private String address;

	private String addresstypecatalog;

	private String addresstypecatalogcode;

	private Timestamp datefrom;

	private String department;

	private String principal;

	@Version
	private Long recordversion;

	private String remark;

	private String street;

	private String streetnumber;

	private String urbanization;
	
	@Column
	private String ingressusercode;
	
	@Column
	private String modifyusercode;
	
	@Column
	private String cantonCode;
	
	@Column
	private String countryCode;
	
	@Column
	private String provinceCode;
	
	@Column
	private String cityCode;
	
	@Column
	private String parroquiaCode;

	//bi-directional many-to-one association to Tcustperson
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="PERSONCODE", updatable=false, insertable=false)
	private Tcustperson tcustperson;

	//bi-directional many-to-one association to Tsafeuser
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="MODIFYUSERCODE", updatable=false, insertable=false)
	private Tsafeuser tsafeuser1;

	//bi-directional many-to-one association to Tsafeuser
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="INGRESSUSERCODE", updatable=false, insertable=false)
	private Tsafeuser tsafeuser2;

	//bi-directional many-to-one association to Tgenecity
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumns({
		@JoinColumn(name="CANTONCODE", referencedColumnName="CANTONCODE", updatable=false, insertable=false),
		@JoinColumn(name="CITYCODE", referencedColumnName="CITYCODE", updatable=false, insertable=false),
		@JoinColumn(name="COUNTRYCODE", referencedColumnName="COUNTRYCODE", updatable=false, insertable=false),
		@JoinColumn(name="PROVINCECODE", referencedColumnName="PROVINCECODE", updatable=false, insertable=false)
		})
	private Tgenecity tgenecity;

	//bi-directional many-to-one association to Tgeneparroquia
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumns({
		@JoinColumn(name="CANTONCODE", referencedColumnName="CANTONCODE", updatable=false, insertable=false),
		@JoinColumn(name="COUNTRYCODE", referencedColumnName="COUNTRYCODE", updatable=false, insertable=false),
		@JoinColumn(name="PARROQUIACODE", referencedColumnName="PARROQUIACODE", updatable=false, insertable=false),
		@JoinColumn(name="PROVINCECODE", referencedColumnName="PROVINCECODE", updatable=false, insertable=false)
		})
	private Tgeneparroquia tgeneparroquia;

	public Tcustpersonaddress() {
	}

	public TcustpersonaddressPK getId() {
		return this.id;
	}

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

	public String getAddress() {
		return this.address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getAddresstypecatalog() {
		return this.addresstypecatalog;
	}

	public void setAddresstypecatalog(String addresstypecatalog) {
		this.addresstypecatalog = addresstypecatalog;
	}

	public String getAddresstypecatalogcode() {
		return this.addresstypecatalogcode;
	}

	public void setAddresstypecatalogcode(String addresstypecatalogcode) {
		this.addresstypecatalogcode = addresstypecatalogcode;
	}

	public Timestamp getDatefrom() {
		return this.datefrom;
	}

	public void setDatefrom(Timestamp datefrom) {
		this.datefrom = datefrom;
	}

	public String getDepartment() {
		return this.department;
	}

	public void setDepartment(String department) {
		this.department = department;
	}

	public String getPrincipal() {
		return this.principal;
	}

	public void setPrincipal(String principal) {
		this.principal = principal;
	}

	public Long getRecordversion() {
		return this.recordversion;
	}

	public void setRecordversion(Long recordversion) {
		this.recordversion = recordversion;
	}

	public String getRemark() {
		return this.remark;
	}

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

	public String getStreet() {
		return this.street;
	}

	public void setStreet(String street) {
		this.street = street;
	}

	public String getStreetnumber() {
		return this.streetnumber;
	}

	public void setStreetnumber(String streetnumber) {
		this.streetnumber = streetnumber;
	}

	public String getUrbanization() {
		return this.urbanization;
	}

	public void setUrbanization(String urbanization) {
		this.urbanization = urbanization;
	}

	public Tcustperson getTcustperson() {
		return this.tcustperson;
	}

	public void setTcustperson(Tcustperson tcustperson) {
		this.tcustperson = tcustperson;
	}

	public Tsafeuser getTsafeuser1() {
		return this.tsafeuser1;
	}

	public void setTsafeuser1(Tsafeuser tsafeuser1) {
		this.tsafeuser1 = tsafeuser1;
	}

	public Tsafeuser getTsafeuser2() {
		return this.tsafeuser2;
	}

	public void setTsafeuser2(Tsafeuser tsafeuser2) {
		this.tsafeuser2 = tsafeuser2;
	}

//	public Tgenecity getTgenecity() {
//		return this.tgenecity;
//	}
//
//	public void setTgenecity(Tgenecity tgenecity) {
//		this.tgenecity = tgenecity;
//	}

	public Tgeneparroquia getTgeneparroquia() {
		return this.tgeneparroquia;
	}

	public void setTgeneparroquia(Tgeneparroquia tgeneparroquia) {
		this.tgeneparroquia = tgeneparroquia;
	}

	public String getIngressusercode() {
		return ingressusercode;
	}

	public void setIngressusercode(String ingressusercode) {
		this.ingressusercode = ingressusercode;
	}

	public String getModifyusercode() {
		return modifyusercode;
	}

	public void setModifyusercode(String modifyusercode) {
		this.modifyusercode = modifyusercode;
	}

	public String getCantonCode() {
		return cantonCode;
	}

	public void setCantonCode(String cantonCode) {
		this.cantonCode = cantonCode;
	}

	public String getCountryCode() {
		return countryCode;
	}

	public void setCountryCode(String countryCode) {
		this.countryCode = countryCode;
	}

	public String getProvinceCode() {
		return provinceCode;
	}

	public void setProvinceCode(String provinceCode) {
		this.provinceCode = provinceCode;
	}

	public String getCityCode() {
		return cityCode;
	}

	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}

	public String getParroquiaCode() {
		return parroquiaCode;
	}

	public void setParroquiaCode(String parroquiaCode) {
		this.parroquiaCode = parroquiaCode;
	}

	public Tgenecity getTgenecity() {
		return tgenecity;
	}

	public void setTgenecity(Tgenecity tgenecity) {
		this.tgenecity = tgenecity;
	}

}