package com.jasamedika.medifirst2000.entities;

import java.io.Serializable;
import org.hibernate.envers.Audited;
import javax.persistence.*;

import org.hibernate.validator.constraints.NotEmpty;

import com.jasamedika.medifirst2000.base.BaseMaster;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;
import org.hibernate.envers.Audited;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
 * class RekananDetail
 * 
 * @author Generator
 */
@Entity // @Audited
@Table(name = "RekananDetail_M")
public class RekananDetail extends BaseMaster {
	@Column(name = "AlamatEmail", nullable = true, length = 50)
	@Caption(value = "Alamat Email")
	private String alamatEmail;

	public void setAlamatEmail(String alamatEmail) {
		this.alamatEmail = alamatEmail;
	}

	public String getAlamatEmail() {
		return this.alamatEmail;
	}

	@Column(name = "ContactPerson", nullable = true, length = 80)
	@Caption(value = "Contact Person")
	private String contactPerson;

	public void setContactPerson(String contactPerson) {
		this.contactPerson = contactPerson;
	}

	public String getContactPerson() {
		return this.contactPerson;
	}

	@Column(name = "Faksimile", nullable = true, length = 30)
	@Caption(value = "Faksimile")
	private String faksimile;

	public void setFaksimile(String faksimile) {
		this.faksimile = faksimile;
	}

	public String getFaksimile() {
		return this.faksimile;
	}

	@Column(name = "FixedPhone", nullable = true, length = 30)
	@Caption(value = "Fixed Phone")
	private String fixedPhone;

	public void setFixedPhone(String fixedPhone) {
		this.fixedPhone = fixedPhone;
	}

	public String getFixedPhone() {
		return this.fixedPhone;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectRekananFk")
	@NotNull(message = "Kd Rekanan tidak boleh kosong")

	@Caption(value = "Object Rekanan")
	private Rekanan rekanan;

	public void setRekanan(Rekanan rekanan) {
		this.rekanan = rekanan;
	}

	public Rekanan getRekanan() {
		return this.rekanan;
	}

	@Column(name = "ObjectRekananFk", insertable = false, updatable = false)
	private Integer rekananId;

	@ManyToOne
	@JoinColumn(name = "ObjectUnitBagianFk")
	@NotNull(message = "Kd Unit Bagian tidak boleh kosong")

	@Caption(value = "Object Unit Bagian")
	private UnitBagian unitBagian;

	public void setUnitBagian(UnitBagian unitBagian) {
		this.unitBagian = unitBagian;
	}

	public UnitBagian getUnitBagian() {
		return this.unitBagian;
	}

	@Column(name = "ObjectUnitBagianFk", insertable = false, updatable = false, nullable = false)
	private Integer unitBagianId;

	@Column(name = "KeteranganLainnya", nullable = true, length = 150)
	@Caption(value = "Keterangan Lainnya")
	private String keteranganLainnya;

	public void setKeteranganLainnya(String keteranganLainnya) {
		this.keteranganLainnya = keteranganLainnya;
	}

	public String getKeteranganLainnya() {
		return this.keteranganLainnya;
	}

	@Column(name = "MobilePhone", nullable = true, length = 30)
	@Caption(value = "Mobile Phone")
	private String mobilePhone;

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	public String getMobilePhone() {
		return this.mobilePhone;
	}

	@Column(name = "NoKode_Intern", nullable = true, length = 15)
	@Caption(value = "No Kode_ Intern")
	private String noKode_Intern;

	public void setNoKode_Intern(String noKode_Intern) {
		this.noKode_Intern = noKode_Intern;
	}

	public String getNoKode_Intern() {
		return this.noKode_Intern;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.rekanandetail_m_id_seq")
	@javax.persistence.SequenceGenerator(name = "public.rekanandetail_m_id_seq", sequenceName = "public.rekanandetail_m_id_seq", allocationSize = 1)
	@Column(name = "id")
	protected Integer id;

	public Integer getId() {

		return id;
	}

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