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;


@Entity // @Audited
@Table(name = "PelatihanPaket_T")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })

public class PelatihanPaket extends BaseTransaction{
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectJenisPelatihanFk")
	private JenisPelatihan jenisPelatihan;
	
	@Column(name = "ObjectJenisPelatihan", insertable = false, updatable = false)
	private Integer jenisPelatihanId;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectProdukFk")
	private Produk produk;
	
	@Column(name = "ObjectProdukFk", insertable = false, updatable = false)
	private Integer produkId;
	
	@Column(name = "namaPaketPelatihan", nullable = true)
	private String namaPaketPelatihan;
	
	@Column(name = "akreditasiPelatihanOleh", nullable = true)
	private String akreditasiPelatihanOleh;
	
	@Column(name = "penyelenggara", nullable = true)
	private String penyelenggara;
	
	@Column(name = "tempat", nullable = true)
	private String tempat;
	
	@Column(name = "tanggalAwal", nullable = true)
	private Date tanggalAwal;
	
	@Column(name = "tanggalAhir", nullable = true)
	private Date tanggalAhir;
	
	@Column(name = "kapasitasPeserta", nullable = true)
	private Integer kapasitasPeserta;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ObjectPegawaiFk")
	private Pegawai pegawai;
	
	@Column(name = "tanggalAkreditasi", nullable = true)
	private Date tanggalAkreditasi;
	
	@Column(name = "jumlahNarasumber", nullable = true)
	private Integer jumlahNarasumber;

	public JenisPelatihan getJenisPelatihan() {
		return jenisPelatihan;
	}

	public void setJenisPelatihan(JenisPelatihan jenisPelatihan) {
		this.jenisPelatihan = jenisPelatihan;
	}

	public String getNamaPaketPelatihan() {
		return namaPaketPelatihan;
	}

	public void setNamaPaketPelatihan(String namaPaketPelatihan) {
		this.namaPaketPelatihan = namaPaketPelatihan;
	}

	public String getPenyelenggara() {
		return penyelenggara;
	}

	public void setPenyelenggara(String penyelenggara) {
		this.penyelenggara = penyelenggara;
	}

	public String getTempat() {
		return tempat;
	}

	public void setTempat(String tempat) {
		this.tempat = tempat;
	}

	public Date getTanggalAwal() {
		return tanggalAwal;
	}

	public void setTanggalAwal(Date tanggalAwal) {
		this.tanggalAwal = tanggalAwal;
	}

	public Date getTanggalAhir() {
		return tanggalAhir;
	}

	public void setTanggalAhir(Date tanggalAhir) {
		this.tanggalAhir = tanggalAhir;
	}

	public Integer getKapasitasPeserta() {
		return kapasitasPeserta;
	}

	public void setKapasitasPeserta(Integer kapasitasPeserta) {
		this.kapasitasPeserta = kapasitasPeserta;
	}

	public Pegawai getPegawai() {
		return pegawai;
	}

	public void setPegawai(Pegawai pegawai) {
		this.pegawai = pegawai;
	}

	public Date getTanggalAkreditasi() {
		return tanggalAkreditasi;
	}

	public void setTanggalAkreditasi(Date tanggalAkreditasi) {
		this.tanggalAkreditasi = tanggalAkreditasi;
	}

	public Integer getJumlahNarasumber() {
		return jumlahNarasumber;
	}

	public void setJumlahNarasumber(Integer jumlahNarasumber) {
		this.jumlahNarasumber = jumlahNarasumber;
	}

	public Integer getJenisPelatihanId() {
		return jenisPelatihanId;
	}

	public void setJenisPelatihanId(Integer jenisPelatihanId) {
		this.jenisPelatihanId = jenisPelatihanId;
	}

	public Produk getProduk() {
		return produk;
	}

	public void setProduk(Produk produk) {
		this.produk = produk;
	}

	public Integer getProdukId() {
		return produkId;
	}

	public void setProdukId(Integer produkId) {
		this.produkId = produkId;
	}

	
}

