package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 * class Usulan Evaluasi Komponen
 * 
 * @author Lukman Hakim
 */

@Entity // @Audited
@Table(name = "UsulanEvaluasiKomponen_T")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class UsulanEvaluasiKomponen extends BaseTransaction{

	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "PegawaiFk")
	@Caption(value="Object Pegawai")
	private Pegawai pegawaiRekomendasi;
	
	@Column(name = "PegawaiFk", insertable=false,updatable=false,nullable = true)
	private Integer pegawaiRekomendasiFK;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectRuanganTujuanFk")
	@Caption(value="Object Ruangan Tujuan")
	private Ruangan ruanganTujuan;
	
	@Column(name = "ObjectRuanganTujuanFk", insertable=false,updatable=false,nullable = true)
	private Integer ruanganTujuanId;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectUsulanEvaluasiFk")
	@Caption(value="Object Usulan Evaluasi")
	private UsulanEvaluasi usulanEvaluasi;
	
	@Column(name = "ObjectUsulanEvaluasiFk", insertable=false,updatable=false,nullable = true)
	private String usulanEvaluasiFK;
	
	@Column(name="status")
	private Boolean status;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "KelompokEvaluasiFk")
	@Caption(value="Object Kelompok Evaluasi")
	private KelompokEvaluasi kelompokEvaluasi;
	
	@Column(name = "ObjectKelompokEvaluasiFk", insertable=false,updatable=false,nullable = true)
	private Integer kelompokEvaluasiId;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "KomponenEvaluasiFk")
	@Caption(value="Object komponen Evaluasi")
	private KomponenEvaluasi komponenEvaluasi;
	
	@Column(name = "ObjectKelompokEvaluasiFk", insertable=false,updatable=false,nullable = true)
	private Integer komponenEvaluasiId;
	
	@Column(name="Kajian")
	private String kajian;
	
	@Column(name="Usulan")
	private String usulan;
	
	@Column(name="Rekomendasi")
	private String rekomendasi;
	
	@Column(name="tglRekomendasi")
	private Date tglRekomendasi;

	public Pegawai getPegawaiRekomendasi() {
		return pegawaiRekomendasi;
	}

	public void setPegawaiRekomendasi(Pegawai pegawaiRekomendasi) {
		this.pegawaiRekomendasi = pegawaiRekomendasi;
	}

	public Integer getPegawaiRekomendasiFK() {
		return pegawaiRekomendasiFK;
	}

	public void setPegawaiRekomendasiFK(Integer pegawaiRekomendasiFK) {
		this.pegawaiRekomendasiFK = pegawaiRekomendasiFK;
	}

	public Ruangan getRuanganTujuan() {
		return ruanganTujuan;
	}

	public void setRuanganTujuan(Ruangan ruanganTujuan) {
		this.ruanganTujuan = ruanganTujuan;
	}

	public Integer getRuanganTujuanId() {
		return ruanganTujuanId;
	}

	public void setRuanganTujuanId(Integer ruanganTujuanId) {
		this.ruanganTujuanId = ruanganTujuanId;
	}

	public UsulanEvaluasi getUsulanEvaluasi() {
		return usulanEvaluasi;
	}

	public void setUsulanEvaluasi(UsulanEvaluasi usulanEvaluasi) {
		this.usulanEvaluasi = usulanEvaluasi;
	}

	public String getUsulanEvaluasiFK() {
		return usulanEvaluasiFK;
	}

	public void setUsulanEvaluasiFK(String usulanEvaluasiFK) {
		this.usulanEvaluasiFK = usulanEvaluasiFK;
	}

	public Boolean getStatus() {
		return status;
	}

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

	public KelompokEvaluasi getKelompokEvaluasi() {
		return kelompokEvaluasi;
	}

	public void setKelompokEvaluasi(KelompokEvaluasi kelompokEvaluasi) {
		this.kelompokEvaluasi = kelompokEvaluasi;
	}

	public Integer getKelompokEvaluasiId() {
		return kelompokEvaluasiId;
	}

	public void setKelompokEvaluasiId(Integer kelompokEvaluasiId) {
		this.kelompokEvaluasiId = kelompokEvaluasiId;
	}

	public KomponenEvaluasi getKomponenEvaluasi() {
		return komponenEvaluasi;
	}

	public void setKomponenEvaluasi(KomponenEvaluasi komponenEvaluasi) {
		this.komponenEvaluasi = komponenEvaluasi;
	}

	public Integer getKomponenEvaluasiId() {
		return komponenEvaluasiId;
	}

	public void setKomponenEvaluasiId(Integer komponenEvaluasiId) {
		this.komponenEvaluasiId = komponenEvaluasiId;
	}

	public String getKajian() {
		return kajian;
	}

	public void setKajian(String kajian) {
		this.kajian = kajian;
	}

	public String getUsulan() {
		return usulan;
	}

	public void setUsulan(String usulan) {
		this.usulan = usulan;
	}

	public String getRekomendasi() {
		return rekomendasi;
	}

	public void setRekomendasi(String rekomendasi) {
		this.rekomendasi = rekomendasi;
	}

	public Date getTglRekomendasi() {
		return tglRekomendasi;
	}

	public void setTglRekomendasi(Date tglRekomendasi) {
		this.tglRekomendasi = tglRekomendasi;
	}
	
}
